ZAP Scanning Report

Generated with ZAP on Mon 10 Jan 2022, at 03:37:42

Contents

About this report

Report parameters

Contexts

No contexts were selected, so all contexts were included by default.

Sites

The following sites were included:

  • https://contile.services.mozilla.com
  • https://api.jokes.one
  • https://fonts.gstatic.com
  • https://ajax.googleapis.com
  • https://cdnjs.cloudflare.com
  • https://fonts.googleapis.com
  • https://cdn.jsdelivr.net
  • https://content-signature-2.cdn.mozilla.net
  • https://jobhub-sp.herokuapp.com
  • http://localhost:3000

(If no sites were selected, all sites were included by default.)

An included site must also be within one of the included contexts for its data to be included in the report.

Risk levels

Included: High, Medium, Low, Informational

Excluded: None

Confidence levels

Included: User Confirmed, High, Medium, Low

Excluded: User Confirmed, High, Medium, Low, False Positive

Summaries

Alert counts by risk and confidence

This table shows the number of alerts for each level of risk and confidence included in the report.

(The percentages in brackets represent the count as a percentage of the total number of alerts included in the report, rounded to one decimal place.)

Confidence
User Confirmed High Medium Low Total
Risk High 0
(0.0%)
0
(0.0%)
0
(0.0%)
0
(0.0%)
0
(0.0%)
Medium 0
(0.0%)
0
(0.0%)
31
(28.2%)
0
(0.0%)
31
(28.2%)
Low 0
(0.0%)
0
(0.0%)
70
(63.6%)
4
(3.6%)
74
(67.3%)
Informational 0
(0.0%)
0
(0.0%)
0
(0.0%)
5
(4.5%)
5
(4.5%)
Total 0
(0.0%)
0
(0.0%)
101
(91.8%)
9
(8.2%)
110
(100%)

Alert counts by site and risk

This table shows, for each site for which one or more alerts were raised, the number of alerts raised at each risk level.

Alerts with a confidence level of "False Positive" have been excluded from these counts.

(The numbers in brackets are the number of alerts raised for the site at or above that risk level.)

Risk
High
(= High)
Medium
(>= Medium)
Low
(>= Low)
Informational
(>= Informational)
Site https://contile.services.mozilla.com 0
(0)
0
(0)
2
(2)
0
(2)
https://api.jokes.one 0
(0)
1
(1)
3
(4)
0
(4)
https://fonts.gstatic.com 0
(0)
2
(2)
0
(2)
0
(2)
https://ajax.googleapis.com 0
(0)
1
(1)
0
(1)
1
(2)
https://cdnjs.cloudflare.com 0
(0)
2
(2)
0
(2)
1
(3)
https://fonts.googleapis.com 0
(0)
3
(3)
0
(3)
0
(3)
https://cdn.jsdelivr.net 0
(0)
2
(2)
4
(6)
1
(7)
https://content-signature-2.cdn.mozilla.net 0
(0)
0
(0)
1
(1)
0
(1)
https://jobhub-sp.herokuapp.com 0
(0)
0
(0)
6
(6)
0
(6)
http://localhost:3000 0
(0)
20
(20)
58
(78)
2
(80)

Alert counts by alert type

This table shows the number of alerts of each alert type, together with the alert type's risk level.

(The percentages in brackets represent each count as a percentage, rounded to one decimal place, of the total number of alerts included in this report.)

Alert type Risk Count
CSP: Wildcard Directive Medium 3
(2.7%)
Cross-Domain Misconfiguration Medium 15
(13.6%)
Missing Anti-clickjacking Header Medium 13
(11.8%)
Application Error Disclosure Low 1
(0.9%)
Cross-Domain JavaScript Source File Inclusion Low 13
(11.8%)
Incomplete or No Cache-control Header Set Low 3
(2.7%)
Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) Low 29
(26.4%)
Timestamp Disclosure - Unix Low 4
(3.6%)
X-Content-Type-Options Header Missing Low 24
(21.8%)
Information Disclosure - Suspicious Comments Informational 5
(4.5%)
Total 110

Alerts

  1. Risk=Medium, Confidence=Medium (31)

    1. https://api.jokes.one (1)

      1. Cross-Domain Misconfiguration (1)
        1. GET https://api.jokes.one/jod
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (392 bytes)
          GET https://api.jokes.one/jod HTTP/1.1
          Host: api.jokes.one
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/json, text/plain, */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (515 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:28 GMT
          Server: Apache
          Access-Control-Allow-Origin: *
          Vary: Accept,User-Agent
          X-Auth-Status: true
          X-RateLimit-Limit: 10 per hour
          X-RateLimit-Remaining: 10
          Cache-Control: private, max-age=43200, pre-check=86400, post-check=43200
          Expires: Mon, 10 Jan 2022 14:28:28 GMT
          X-Powered-By: Luracast Restler v3.0.0rc3
          Content-Language: en-US
          Upgrade: h2
          Connection: Upgrade, Keep-Alive
          Keep-Alive: timeout=2, max=100
          Content-Type: application/json; charset=utf-8
          
          
          Response body (451 bytes)
          {"success":{"total":1},"contents":{"jokes":[{"description":"Joke of the day ","language":"en","background":"","category":"jod","date":"2022-01-10","joke":{"title":"Mushroom Love","lang":"en","length":"108","clean":"0","racial":"0","date":"2022-01-10","id":"hMq_icIuuv7GinUBCFevvgeF","text":"Q: What did one mushroom say to the other on Valentine's Day?\r\nA: \"There's so mushroom in my heart for you!\""}}],"copyright":"2019-20 https:\/\/jokes.one"}}
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    2. https://fonts.gstatic.com (2)

      1. Cross-Domain Misconfiguration (2)
        1. GET https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzaGW5.woff2
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (478 bytes)
          GET https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzaGW5.woff2 HTTP/1.1
          Host: fonts.gstatic.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://fonts.googleapis.com/
          Sec-Fetch-Dest: font
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (945 bytes)
          HTTP/1.1 200 OK
          Accept-Ranges: bytes
          Content-Type: font/woff2
          Access-Control-Allow-Origin: *
          Content-Security-Policy-Report-Only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy-Report-Only: same-origin; report-to="apps-themes"
          Report-To: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
          Timing-Allow-Origin: *
          Content-Length: 16184
          Date: Wed, 05 Jan 2022 08:08:10 GMT
          Expires: Thu, 05 Jan 2023 08:08:10 GMT
          Last-Modified: Thu, 10 Sep 2020 17:03:28 GMT
          X-Content-Type-Options: nosniff
          Server: sffe
          X-XSS-Protection: 0
          Age: 411618
          Cache-Control: public, max-age=31536000
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          
          
          Response body (16184 bytes)
          wOF2?8ì>Ö’BlV4.	’b
          Ç8¯ƒ46$†d „f àrœ“Oî€ɛªºQ”HÕzd N+JµÉÿߨY;0ÝwPEE):ŠãøKaÀ‚޽Ðçã¦æ©§¸¢¸Õ-;­l¿vßïOTGx±rœ
          ÏÒÃ+Ž#cC+‡µŸÏ(ËM9¬ÃòØ6ò'9yyˆßßó¿fï™sï{hb²€Æ$–(5¦Ÿ~‚CïÐܺmlT¨9R*FôlĀU$rd)U¢¢”H…0¢”°°0?Ðõ}?\ë}“L€ï>媽"nŠ$c|U•o…å•=t³÷$àAªr/>,ðÃ2µî?o.ýsî½/Í{30­Ý,	ÅÈë¼£„ÐyšÎµ»Ê¥KםòÿàÇï²d·_Içh…ԟÌ÷&”Óíöðñ…ø·Ç6Ÿæ©@JÑ`ß5+ÚÃí²jÖZ%ñTæ ]~ÕQ×sünљ‡
          m¥!dhy´k ‡5éð?’ŒÚ£,P•Îønþ7‰ÌeÂËyí_)«­†oCÄù&À4¬B²j­h%^‰wÈz·Û©üŸ©f;3»à‚ytæéb(:…Ö.Ú+šÝ¿³\ìaARH”K%"ŸP:<ßX„x)fÔåDŸSÈjcí®t×ÚUìB.ºÒ<äî9À·ˆÎµ%­áÇbþ—ÁÔE€R…!²›ú¶¯9Tڛëidâ³)¢wï˅•”Ô|¢ak¯»emPáuV’lê}o¤ØN|Ë`÷€Ü÷`+ºÀ§œæHøn¿&!àÃàȱÝÛnˆ8ð@0 ŸËE ÒôwþºÐx	@/EN*´`Ù²cÏÁ&þö%Ø×xôoÂf—ÛnߜÞè}Ì»±íSÄ·‘ì{ͦ9Û̀8ôßÀì{—Cÿ?8®7¥Ü°—ÃW6ÄÅ,³|¿^Ä<LìÍ'k¿uýoe2¢=§³FÇLú?¸®ð­zíޕ„Ýfœçëº>—4^Iêopòï44^KO|›8Û{Gþ–íÎnd	yÎQ)k\›Áÿ¶~±9tËÇįS’ì&ÿ¿xZûËOK]¹9ù{¾í¸›šðÒÚ#òC…cu§±º²‘Ý:´Z̓ú5k8'*e=ñcA¥„ÿ‹å„cºù]ÞØq×]+ÙÃOá’ÿ8[Üøÿ´þIe¼È9>?$PgôÉþJ;ës؃Æ5Ò½§VÍü°Öã„þümØ)BÃÜ@¾MŸnØGœššÀ¡þJ[¦×Wön\{ÛíøfXÇÃo-Ñ4œ÷ÿ¯,)Ptž
          MZtéAÑgȈ1fl`áΉçìþè•w$ž¼ùðå'Wž|
          U«Q«N½Mšµhզݰ£ÆŒ›0e˼M`"E`çA¨`£	JŒ.=ìP ôq0ÄÉcÜLð0ÃË,~8l	²#Ğ0<8g"ST儇äGBâ<Ið&ɇ_Òü¢Œ\…@ª#DM¢Y.íx
          G¸øMá7G¿y263cÑ5ÚÕ3¨žâ´\ׁ`bÐó·p
          ADPÁ'øxÀsàÑ&!	Î:±ÃÃÚø¸µñ ¶ñðhâńð‚"‚¨KL/‚Ý‚+qQ5E`çÔ·Ñé:.Ýúñzã<6	<ù<¦Í6‹‹!.f‘ÚÀ–8eqAÛ`\EÍUe’¿)žÀ¯¥ùÛo	
          ælݹ@ätHzÓò»ÌÞC`€9±šŸ[ €:¢š±'fž_£
          !ÀÀ1Åg=
          8È·yøwސœ !÷‘ã0ÜÈÖÇÄ+€]b`°ˆ<¼¾”ÜRèë3˨3ŽÃ}¬ŽÃñdo8R‰@Ê!M6Èd¿¬ÜÙØÛ%ãB—[‡0R)=ñ¯gû§^셮êõÿÿù}üûߣw†Žn5U)?@¢eõömZS€ú9ñ€ÍµÓNj@ÒúxsÆìç«Bñç¿`ékôæ]ù(^ïÕóä˜<i}ò—²ªÔ/¸Ú“!!îLØú3K+•ßz#ÕzòýOB<BÂ9ËÆYNÙ ÐH˜õk9îE¶BÀóýtÞ'˜7(̛עº2(›µ®´uòõ}¦Êþÿïg¼ÞéåMÌ{®?HÑÒ#>?ŒæÐÕÉlˆŸ BH	TÞ‘OÖPaŒšRäLpÍ
          %Íašåá¸ÅÀ­úŽå6VŽ
          T•š˜›!ђ9s}1ÔDúP_P]7Á‚¬¢â.Q®BHä~à\ڐ ÿ&å»)ªrTP˜Ul˜"@6E…Š>c­_%°$OÔ'´XµjY†³G¶Ú^$!K”ß̎'oú®¾á8䤤VOTœá$™_gV¼M+D³!$8¯©Ê2*ºé(ž¡AšJOî¡ü§Vç—'îNb”/Ɛ'%J„PCj‰DaÔ…¢ÑHZ‹ÖÄ][›¿Ì4<ÞÆ#¼@»D ="Q&Œö‰BD£CbбHªû$5?€2M®Á|üdÎìGS×0ºæFK—
          :ÎÁ©áÒDãiY¿axˆ«¸€¹eCÇãú,Ž8:E‡Ï•ðÕ΋ûO¡7{̪3œA9Ï™·1ú¸aïl£žªzÜpê4Y‹ û"5\C{¥k¸NHCÎE…T‘Ñ=µVÙŸî»ØNùmbëg0„õu¥áÅÇ
          78=Âì]!LOO–åVºòÄÌs3ª6Ą}â?»Há|?þ’ÍùÆñ|‘B0A?UŽ
          Šmœ1òëìÞ
          ?M!ÌCÙ/œÜ‰ôŽYÞ!å]éÈ-5‹6î7œ‘8®^4‘¯'kÂºuX6.æ¬OP.kA ·<–ÏâùÄj§†[št
          {\D̺™p{7¤$a°šß¤†´O¼b«Î¼k*Քz7†º
          øÎ®:Ä4·Y먣ÊÂdÜ]a¦²| _̯³‘ÝƒÍAý”ヨ.µõPå“ÙF÷çÛkð À™¶ê9À°Ì5ª¿òBËÕÓª3/V¾D…v"\ãôLrôðÐo¸´¬oŸ®!ó
          G]Ì¡à¿-}nzÙßt
          thå	WƖC‹WYèˆ(ZÏ¡àDC·MµÖµLœ±±nd—ä{˜CË9üšèû	jêXhóp²mÃÃA嬝m8¿õø$˜¼Â+ò9ÎÈ9ÎÈ83çO›4¬fO+Òõ%/ñš|sèë9ü
          Qö=Þ¦êHi¶“7xCÞÂz7‡‚ße3ì{dj5.G…Ñ+þú”[kÃþöA„Eê÷}ÂzÌoYð…üCZ(@ÔB¢ò…‚CÚO(DÔFdQQDmDÝHÑD*ê ¢N8L½Ìå ¾	Q¸ åèÜDõ™Vô|ë»oü¶ÿvoã/ˆ/	¸á@þŽ„ »Ô˜³zéb1´„&ÕÉ»¤³¤”J^
          cb8f|’ãRl€Ç‹5(ìSl#ŸjNƒþŠüÁÁ°ÿ”c
          ¬Îö5´7Ÿ™/q—l¬²UyÒÖVêAV¬…Í+¬ÍPZ/=¸Ÿ½8KÑ:G.—j7Z¿ñí*ȽzFáÌvM]R-³ýԅñ:Ø0›§á&ۀã¢Â2mì]͌©päø`«Xæ`Ìv§1w¼q›à}#™·äbۮݍõcñ¾É™æ€¯…ÑmÈ^Ól»ÔK/o°ÝžÛ0Ù¸ÕÚv?)ä¼Åñõš½·¬wS¼¾ïÞùÕçr£kEʎý¡ŽÚ‰›+œiZ˜(…]C<Aý\ǧ½èz9uS_¦Sžµ×ëž_oI@Ò)åµÐ¼÷®±Ém%#‰^Ó§ü\´Æ™8¿É®#ÞR‡a¿¸/W‡T¦—+'šæm‚w†M͔nrHÎ|7e6E¼œoÞHguçh$@<K>ìñ1¯(‰“ûV¡VÆ_pé7âüÿn--”ÚÜk\gŽÀï}ÛÅ«„?‘ãºSgô Ýø,4ŠX¤[ÀtÔ±4ïk‰7~Á|°‰ã§®0úùˆÖwß­¡û¨°Yc4sÁHºßÍ¢îÐ?­›ÒEhTÎ<ÑEUˆ¬™ÍÇǃB~nRï„KT'g0*ƒŸ±H)ßÛ©«÷@±rª]e¦—ì.òžÉCeÉV}^'µš)‘ílñ Yi²Uׂ|•KUOöIÄ+‰w‹l 2%Ö}Ì=r(Áí`",‰h^Íõ¤ÀVÁûי–$ÛðärZ•€"ç/øÐ—@©„K!&Ëæ‡‰kÆ£d
          g{E:Z;rÏéÄ\]í¢U6ŸX..hBdq°`ÿ·Ÿ`¿²t‘BŒä:keyGf,àÝÔD±Øô܀}ׂ¶¥‡*”Þ„$˜&=V:9Kz(\6÷Aÿ®Ö8pV“<ufAÉËEXÔâJ#Ŋ*ÓFÛ@(†=®Ù$…ø-3Dœ<s«é^à·¤m”@ŸÅ†m²Ø2{Ù±+^‰¢|§NÍÊæÏDvÙÍÙðDÇæ´²/¥¦Ï#šïÙÕ/þ¨ÙÜÁ&Þ¥þè/‘ñó1ï™|‰™5¾mx`!Á?Ý÷Mw(G¼Gè/"µXÅÿã$©±-»õo㊹g
          ê>÷‰0
          y4±´¢jÍ^HB‰¯¥TϟÙ
          ٟ¼gvpÑµà˜Õ9ÉúÛ¬•~”«ÛÞê&,~‘_Ð-oü¯ˆ
          Wc‘•ØÛ¹¶a됭ÖÖfÅÌäöªÇ"›{Š#9“`ì*
          ,Æt³ò O-˜7N”°|ÚºæHò¼j®°A—cp ΁@Ä¿†FMàTMµ”Pjk%¸jîà H*ÎÁ%!ü0Cv§PXŸÆT<ó´È.–‡È‚àk¼Ëd9.Ô«F·2’!Ú¦RæÊ{$aÄjͅOSO¿B©Qª„ÄÖ)ÂG;8Dâf¡˜Zwr,j™Âï+‘]ÖI€W`‘ùåÆ#*"C0rºšÁNlªÃ>z³µµàZÃMu§gÈß¾ÚEçùDŽfòFÍÑØK¦ˆ»H‚õ“	çjƒB€d*\!GÛF©•Ó'©ú;½CÏäw¤|ޝZŠR¥%:³÷úŒqAGLŠW›4áò“Šò‡‘Q““JéËÖ2ÜÌOû»÷°Éîr}ugFž´yÅ3­›^¨èÌØãmfYsp6}ê_¥ýh¸ažÐÁÁÌËEÇåÃr6MEKã€Âµô]¶É…\a=Srë1]IJ@—²
          i©Éç
          Ɣ -k%"þû(EœäP& RغBòAè Øýküu¯:‚ûßTSŒÑ˜Ô&´¯ŠŠFc €p“
          ó¡R’²ÔæJÔ‹	Y£_–Óãá•`9?[èà3c0êhf·§ÍM4’¥?8èŽ:ùÜd͐–¯:A<_Ú_¯G*ëÓ.ŒS@¥|ÕRK°¢zhÛÉ+«éÈ*ž{Ê94òMû •«ŠÝýCO}º)®‡'xqÖ͉xØdQè‰ð^|üx¥ß-½aÉgsgq‘£ô£èç ÿ•íR›|)°Ÿ%¿2Ÿ™ÍÉKB5!ڝ›øg×V„ÆF}ØD:Ø$®ß4eŒ<}4³7黛aÏ42x˜ùƀsxZ8+!R4°tá¯lC>›Û£•1LUjêÏG74‘ÈÃÚºf üEb¹sï¢ë}—‰Á‚°jæP)Œ.á®)ÑÓ^gøaëŠ|Kã‡èºQ–ØI7뽞œ–ÛSŽSÝD!Ãà՗Eƒ²d*ƒ{·áÙühPÇ
          ÙpŠ‡Ú›¡º2) Éî
          I-¨$îÜìҙ½cvgKÇB֓„’ÜQQ¦s!Ô[‰øÂ…äȨ’
          	[G¤­e-`ýî(ØÍ֔WÎc4ºgf›ùRĒç$Ö#“V=Љ?ÞDÂnÔêEîÔD	L)¥©	ZǧŸ+ãÊ/ôXþ	+m¿¼¬:ô§8||ê—nš>ŒE*kô£QçU&¤`nxâЏÅÅët¦]„cKs|“”.F¿D¶Û*ÃOðø‘³Ÿå‡«/ëE'®UÐ$$\ÀF­óÎtf6®_ëð8ê¬æÂ65–1m–§v³E¢º:%Bû£€wlnOð•[Øå£Gÿ¿øÜ2<¸ëÀ¨s-0¦7᫃ü·"áXj¢ˆr©¯|tKn
          ú£á].ú}/²ù¢¥Kœyr9Àùa«$#ÑìBlK– ³;G:®ê›ªZÌæ½Ð)¦Ž}£³rWo°EÍ:4z&6¡Æà—GUր°ÕN²8	ÙeiŠe%ÝDÄîÐ5´L0	~¤pû!-òÚ¢•Yþ¯»´“ú•ÓÙÙ3µÂ]jK*Y^fZ7n7²a(		@IóóÄuåÏÊÞër{ooKo_ÚË×ÒÂË[—ãëŒøH<…?G€å‡ø/o²¿209`~GÈXÂg,ØgÌ9dŒqmšš.q? \^v¾<ç|9š´hfºª±býï$aî¯D®A‡“媔B¥§¾ß»ËÛÒø6Lu]qi…Çÿ¼Žé_º9{úôžÐ2LL!ry’ ®i)
          ¥·'e†sšõd°tO¯ÜÐ0¯Ü~Ïü=L·ö+ӏ‰óÏ/÷,<îëÙx[6"m>Ž]ÙÐ?ðñÉ»”5ÏŒ¾à—éÙÞ¿ú¤»$bdî፞Åç»Ö¢áã:5!ÄëÑhÅ7?‚§áÍòq’8Q+:¢¹æP¤@·Çf¸Úè'…øÓ¬1HÿLO»òžX§zjÜÎað²¶kyíVË×9+F{òÁ9Â
          è9q[Õì®<ú׿׬MeíÕì½ñvN>NN±Kr¢÷%Eœ…%óÞ~’(yG®è99ýÔû1¸¥,lJ¢ƒ}#»NºOȕǒï^K ’tnÇ}Ö!9Zî¸ÈÅ¿–‹'æ˜Ýñ´Å½–p¿F³R>®nlb57®66°Õ,%à
          ïOè~å±·¶Ä·dNϵÃË×
          íùóô–л¥ô¶âð¼A…†Ñô¥X_“Ë“qQ8D"^bÊôª‘Ú‡Y—ô·¹é™ò‡î‹Å3.ïfîÿÓvQþQfºÜ×Åôb„&°ôðmЫõ´³œõ'@
          #IÐ;Ü$_çfÀôXªÿ¨MÃJ]¾ÀCØÃÕ²Úß9{‚à²ÖkxîK+Œ‘í­¨½,b¡ä}ŽŒáv ڐM#ÏÁp5’%);9áÖEÛÙ±˜Ÿ»ûSÒº”·ËåóÿøÙÆÖ
          +
          Ï8]åY¹Žmâ¬î֑“wÑQ&ç3švꗍñe•-YÉy•2‚#dÁd„4ß¶¢
          ØS3xód÷—5
          ~¢Ãyˆ“É6O5÷×Fwð¬˜Ù‰ë<vî«Á¾¯ÔÖ§ç–Ö–”å×套Ö¾—ºú¯h½ M†!ª€W¾ö)¿•ÇŽõ¯¾ºÀo@‹v °2ö×½ØO	°¼²[¯½¹Ç~•§ÆD×T&#Ò+c¢yϧIå—DúTFÅDWGùD2Kµ¿Î`¬DQøÀ;÷•ÏޟjÁ³·ý²ÚÍ_–4å§Wæ2êëÒòÊêôÉPNNN''§Z8ÆÐðeº!Çr)‡²uÕ²YðB†YÜ˝yG–̏Âúɲì,_ø¹ ™´¼ÃB±œwÌâ^gÀ¬XœÎ˜Nç\ÇTÝ=À3’lAGl‡b»\Q7QI¶…ª±.6¢V¾{¶_j|·²‹ñn[  úSÏÂppûsÂÂÝð}êîë¦Ý¼ërcÑr+Ñ~;µ¬Ã•èNÅ*z—Ĺ•´Ü¬®Lüö¨ŽY2dÉcmGNа*Ø´TìtðÕúÿ9Ý̗Þ5å¡cÃÄÆÐÓѶwîLÅ»Mooí°ÍGX<á&ĪTÂTÑ$ê#Dvlú¼¬þ´hU¨ºí^hÊÚJ±€NmÈËô¬"3¥œŸ»š1‘•ÓÅwAø—ŽNÒ["®¼žý›w›ÞLê2Ò¹+‚I®¡¸5Z€†’ˆ[½nlþ+wúç¥ÈÞ䨯üþu²Á‡‹ÿCa¿øxOºNž5Õ=¯åy8˜ :AîËJWÚ<…ë~@úz*ãæÝw™ó¾ã%­{ZQʺó"„”šÀç7ÝH³ÿpÏÅ{nŒO<û}îÇ·2‡eqjD=ЁöÓð‹>–y€ß³Þ“ÿr ¬¾L©k“Óc·Cs|7ŽqŠË fT5K½?<eÐ0ßð\›ä	ÔâüÇA5•‹
          ûJO«büõ9¼ ²?@Ü¡¥Få¤^˙ÁÔ?ØÛ¢Ä蝋~½VÙ×ïjPÝ&Ò)õé+=Â[»È·0Þ7ßû¿ùTˆ0-gvöˆ—ò^k½á¿KâàÞ¡äÙ¯_ðYUÁäìòúÌ
          r`vµbýûÆ©WÅZC˜þåô‚#ێ"";ŠõÑ=휍޲=ZjKfÅsА±3晛é]aL†ž§Ïû×FȤkã÷‚T½‹üò˜
          ÿO†s1—…/¢|¼QUd_?ÂÕGKʽYAÛT è%(IhĨ•YL­0œáç„9wS1÷ýõžX†åæG_(™@-%Ë]@^P
          •^“|ð/'+Òueɳ;5	IKQH™17ÿã±{þÈ`ê¨ïåQÏò©‚€ö
          ÔLÔ^ï½^×=q‘¿¢…ç—%M‰	“‹èW–˜·MC‚ùÖ+pä›)d£ø›)>Áåøë(ˆðAœB
          ŸDה„p­ŽH‚Ž7ðþpSÇK6DVöõΟŒãŒSßaύ$(ù¥¤Ê«‰q³Ð&êýûPuE+Aú 59Øû»£@Œa‹L•ƾü¥T÷E\sl¨‚ýÑ»Àò+¯ ýª9±ß¼ëÓbт´5ø6 Gõ9déÎd‰^ƒ7Ýêîè{~õ…È+[voö‹&_Ÿ€Âe°åMЂÛËgó·!*™l®„Vå)ßBíH;[;o/
          çêP³©(}Ôs¨‘ÍÌíÙÝû`øö
          Í·šXº2>Q4“Ȧm2fû¨ð_âjb|J*Ÿ
          Ü̧™¸DFãìød=«¤ª€(¾j£QsÞ@þàԔ8Y<ø7¨‹3ؗ Ÿ_I×q­Æ£!¢ Uí6sŠ™Tvkr¢ŒÕ—çTÒæ…‰è~ú)u,à…Cš.u—vù+L]¥ÂzŽ
          S+#©%¥æ·ÛšZ…Í)
          åî”2íPJ¨è¢+—瀀ÛB‚ŽùöM¤]µ†:Õ|Ài„ˆZŠÿ(pzÈ(p ?¸$Èø÷·Þù´w°}æMñè˜Ëüàp%Ðåü¡, ªfùzgí£1=‚
          ˜‹Aï‚óZžNnî=ž„µ0I™¡^L/Y¬˜o­ ¡ÃPŽØÔ´z¥Ltÿ4Âо07žDÙp¬/*Wԓ³¾þvDùoW O
          Ð9ÅËkό–ö’ÌþD’ÚP¾¸Z‰.ۑ¬0­Å^ ê:rÁ¦Aÿ\ÃÀÂø™R#ZÛî\¸ˆy~kØ9œ	qƗ>;xooŽ=¶WAi²*¾ÅIʇeÔ8UÒܓÝÖ¢”r~_ºäz×öüܓ½	ö À=?ŠTæq#ätYOb0Æ&,&£p~b”¹µz"f
          æÓ=û&jÄÆ.a ^°,ðRMúÃÑÌ­º0ð•³oèýÝnF8öJ¡ÎèÄÂ¥ñ)æT*8x«p.BÿÅÆ.fÚ·wb	:;5}ú(â¼ô-°°Ã"s˜} ©­ÂéÂԒ™éÉÒ¹¬BüÙëýÛjW ‡‰jÕMÅDÍWÂ_«Ý$—1ò·ˆžAh>cL¶6k¹Á„Q•Qÿ°cq¯Ý=ÚjWAðB葌24´Y£õåéÀÕ§#¦|±µ(÷8¹æxöQÎòw•@M°C'Ó6,ØÍ	›¯žFêŠô³Ý»3Ã>”N‹Š¦DfÁfv$§¤(xÑ_½RD£.q"H6k
          •ç…K²á‘>ð<7¯žíÞ«CލÛOÓxkäÙE
          ðÐMށ
          a»ûOÁ
          "…ºt1•¯‰?’DóõÔÏ*Ø+çvжì<›¶¾Q¶ò¾Æò4©«†âBÂ2璞1nŠK×Nã&´kb:ÎÂÆ•GÀEXšsˆ—k9}")þù÷ý€@ey7y’^lºA2z=°²¥ò”àøX•}µª•m8à!’°gÝVY("bcïŽp4´øÈs‘²Ô€Êûþ¿FÖãê%¢­t¼¥R|¼
          ûþ~iˆkk;÷«YQ͘jK{³(´%W¨J¤Ó0qr$%+„4*MÓløN€K›-Ói«qӉ
          =¤>mã¡:©ßðNR«û@ç Úê
          $¹×s”ù·ÑÂc×ræmHü³U×úÜÔÈTXºö…šAç”Ãk¥´n{í,]Ûès„Y¿[jÌ~c9ÿfª?–XVî>Úëï;ُÏËÁGN
          øŽ÷G“$c<§|ü'ú"róíÃFûøó“®v¾íºœ˜Ðu%ž~µ3ü¬o“o¹O#÷Ⱦ4-’)Ö·o,l
          ”5×I»sûÏè͝Û;N
          ˆœrk9®n离O"¤ ÜeãÌý	êTKWç왞5e;5 ¶«0Ù^h‰Yù`¸®¿]”º#"ÚÌßY+Äôj±±¬ñüz Úɪ  Ske§jDóRÁ¼rb{}ðgéÏË?ˬõƒþ¬CáÅñ/öó§R]µCc1…uC;Ý×G6ñµÐtמ›³ºC=šãc=šzó3ÚÃÝcãݚÚÃ3äVé¸ý•„]boU:®µ
          w°š‰°ËDì¯ âæTßeÇPµ‘øO¶²d8«“ƒðÆhLd™±JT¥ÓÕÔڄÜtŒ)@ü™aøã^ŠN
          ™¤G1ÇňÙñҟˆ«ýÙÉg75ë–ï ÄèBôC}«.›þu” —Îa&ð½Ä|á^Ÿ¾å¾%£Æ7£NƒE‡¤Ç‹Ï=ŽÙÓõ)7ËéjyØØ	ȤèXC¿¸•d·ÿ ѹÚ1\òfu†º5ÇǺ5u‡gg´†¯[ת5<½©TÜ^ÛîªÔÆ2qû8Cª§ße§7
          4¡$—þ²
          òÁÛyZY{Úãƒ}09Õ½7SSz¯WWö]ÿÔ;¨rŽ-9r>2v-6z>*Ym¨sȰڼ¢=ìí/¢±«Ut”%“l`Ët
          ¢_nLG˅Äâ¬Üpڍ¦|ené>ÕQ®Ú™ç’Ïëb°6èKoG ˆÐ¢F7ÖOPäЊŽòªOh§¤'Æbs*í¸Oúz³ÔL²D/×]mä™Ù¼èG(¬všVH¸Òç@§¯%ÜõI ìýׯ/¿dÌ)iUÆ2õ^µjVõX«Z0T Ž^Õó²ZE)z~@`:-"(38 034"0-¸y`é` wm¯§wñ ¿gùÁ˜¹®/H磯¡¬»"ûoëÃéüôM”yG¨Ð¿8p:µZåóòZÝ˄þšŠ<é›òt3	èsÊá²|ÃZ´Ldµ™ïa`/2¼
          *ûѵßÛýh½ËĦEgâCä“s7%b
          Mãu,0	ªè9±»6S]ÀQŸäîYwHàgxÄÊXÞc­ZޱÎEdeŒ«v*o¬,ʆ€¶LwŠœ[ɪ—Lôãå~˜‡›Ôè:%t&Ds×Q\ð+.6î^©EFÆB!#µyꃨxPa"0ì(Àm¹ÂZ¶$±òmöp¼Ëœ?^S%ÔÊÆg¾¥@äâ² Ò¦>LÏV’Ši‡N=†óǛª|û"ÊýaçJêTGUßÚÈWQqæHf³áÙ`²È£
          ÿI]†O‘–‹¦œšœ*£X]IM‰Y"¯Â|òú)³HMvo¬ød„´á÷õf„ôÂoè¥âdE¿ƒ0e¿û}^,ïý’¬9¾—rè²\ß$G:Kúý«ø'õ#…ñâďŽÀ~V’Kû6"~’qÐ+Ï^œË»£}‰æy#é@ûøÔdp¹Ô]a¦3{Ò{
          4#g'_ßú_RÍt·eÌU(AÞÓVÊ+?íOƒr4F-î®AlÁ%+ˆ"úz9iª:»cՓ-ö<P8Kœ¾´#ªJ.EÎ>ÖÕÇÊSIÓI0ûC‹cûôoišbÕhØ^ŸtCZÁ“…<¸؉°ÄPç€pHù¸£öȀÛý¬i¢‘ó­ zX‡«_•ÆP˜º“²3xž#»t±§ðiÒºdÛYñògNû@ÇA³#m™†¸Àv"AŒÕÄÛPïG”dAonh¹Ëà1:)gf]ŽoÃ8øWU¾G¯y@¯
          ý¥³¦ž~üA±bl¹m®©&ÅþG¶Éßsþ=üFÌÄBz8»dǙ±ZÞØÎ,jíB䫊;ºÂx}09ÁلÙögìfúr!Ґjû»Os0LÎ!68êw¸ŸŒÿˆ¨ßt&6þ‰ Ê<TïqÀVoN?¿Æ¬¼=y¬~M#òÿŽFaSx«}m8 %uŽ”\o±’à-ßæXÒad—ƒtÕâ¨PD࣍,)ˆô‹ˆ4J´‘CkË|ç•Ö4G®Ã™ƒ­ûIøaaÒëørÖ?¿}»%Ì©Kpëb1}“¾¼ °5äj¥9mDى›¶
          vÉÍ}åÝ`Es*Q¼¢bǽÏÜày[>™mè­ätôí¬æÛ¤üâ5ª‰O̬0دVŸ`Í@´ùqsàðåKÕ½…4Ûfg³aL–6}ÅÀçv8ûа?q«v£ ¯fgrLgþ˜y®A@Ø¢µ’Á'¥ÿeÝý™5yãQß#CÁ„W´M
          C+]=C´–æNëzJ2Ñ=)FMJp'šƒ_ï(ØÃ­ÍÑ
          “r•0~-b¼¾0ŽT7}ïÐ¼½¶¦ðS22E,/pëWœŽxwØþN²´½OC‹8~Ò~,£3¶üüöjÞå‘ß=îx'Ï
          Ù¾÷ÿýmbÑÇu%¿¸|¬R‚ZcU_ÜYmj\Ÿ¯®Cßà,æ/Ûd+û]¬`xRò«t»T°DAÅËZ6Rd‰ÄßJà»ôžÆÛ˜ô£°õ':Ú.ðìuRn#aR0ºH´Á̆‚pÐ4Éê$‘(Ÿñ’Ê
          —ôÛÙٚ‹zvUxBñú-¡&#‰‹†P, o€J_š+î¬Oîԇùë
          µÈ?|$÷Jn]¾Sñ©PØ.ϹüêÿSM¿UsüCRôÜ|óêìzHX¿cÔܸ4/Å~`‚¢miû®-abàFë
          YÀakèäíL’È,Nÿ%Ðq¬MœÃŸú€êø¨pBòZÝ$j¯„ í/À¨§†Ur¸çù=\ÐSÞ·¾8ã÷úÑí|òþ‹ð5ví#Ôg	>açyô¶›v÷ŸA•¶ø0]>‚šgÉÍ ¼Ù\à À:„£mW  ñ²IѲírˆÆì¶«!iۆ‡b$l»aڑ:Dú)Á ^·]ʂ»¨ì¶ ¼nO´Ôۍ¢ºRT÷v‹¨îí^C]ªPÐaCÔ‡¨ëVC×	Ý]^1]'؋FÞØu	ކ‘#¾Y Ì\»
          ú.›zÑĶ˪¶]ÕJhÛp—ðl¹â!j·7’]8>ÀkØ¡ÞÀo»liëpóx<’Œüÿ­¯>ð˜BqÁÛYƂPá‹á:¼°ãr<\nžáV*<3ÜÄG¢›×áÅ$»¼„QÃˑ%,H~y܉ÊèÞIf#ñä,ÿC%8uÓJÍ:›§\èßP­Öº.CîÖH(›t{V;Ú¹´ÈT‰wG¨+<ÞCOoâçñÿ5ðSÔ+Cä>®ïPƒ×ІS…Õœ!Áöú3äïÈõ4̯K žXwŒg@	;ؤëͤ™©Out’&«)€x”ž•OFºñuxK7FwÞ2D8¡ßY£‡–uöl§nt’D!~ß¼×Ô±@Ž'Û¹‚S&‰€<ƒª,E:17¨³oM×ézR§¦$‚@æœ
          °`Á;(´ÕõäÝéúsE”„¥db¥i–gm]'ªÍ¬ÛKÎ%ϳÍ"8eª|`Ո‡+ÀÿTvmì`§ÐùX0Ä~|œ«sûª‘“{“é3¹¶Hw Ô)4ЫçdÉigx
           ÃÀ!c™`›n:ºÏ=Ô;"Sd„àSøR—LÕ<KôÞ-›XÔ¹NÍóé´è.¿QHÝO‡Q\É;k›±õÊÖø³®P™¾ÐJqmê/ÍeuÔ]Ñ©\åYšDÕ0µCbê•IÙ¾Ý^™®­« ‰^#ˆL¡Ê%Èvö(‚%è0ߜΟÐ׋W%p®ë2)Æ
          ýœ'M$¾œÀØÙ*-þ¶‚_U`Ð	Š<<Ö^PƯ§"vM•¢3"ãùét÷¹¿¨1Ïÿøg½¤$}\„N¾•¤ŽXAÄ-4¸Wz(‰^·&\¦}uéòå)¾kì¨öb&î^аÝ!8df-“w§s7ÂÀ¬‰Ýæÿ´NôÎxT;%Šnµ=5$n_Ðx†*e	<x9ƒö
          ÕfÓR‡3E djDJ’Í,Êð¦cœšÉëMÊ'"sWHí*‰)JÐM¡ª¬aæ–p.;z—Ú¾|ÔVe*E=nÑ-S&¥ÝS¨@âJP©	>€Ì³ŒÍ-6J6ôµ=gëþdÁ!q]ï)ÅXÜEԚºHðjÈÜ-J»$‰ªˆ}ÚG۝4át
          ˜Š}TV=ÕýX	Âv.*YE¥Jè¨{߁=‚GåÛHI‘"ó³Þжw›IiúŠû&ʼ¨–ìt×gGc+›žqP¢©€(,ѲI‘ð*ØLYÉKôÑ7ݺ™”£ª, ÒÌB|¨,õ³¿¤@ëÞ°­KiWþ•à±"N!pRˆ® +°Ó1Go#‚5§x‘0ˆ]‚¨ÃL—uoÍÃ#pÜçjÆ.vÇyÝLޝÆÏ=È-%;_¯\zùpD§ù~K4j+EØ®7ú5,×YZ‡(p`·€p°ôDÀ9â±áø˜Ê.Oø`v²áŒþ4E]ãÝ·Ú#á«çÇüm_o®æ±©t&Ø.bJÓX&…À 4ùPˆ}JeŸEŠmÏüޤ̪q
          ƒŠIM:,¸!}KÍc³?¨ËBg’£E¿]ד2ÝP8p¢2$¨N?©‘8¨j6钰
          ´ñ¦ƒ¬kæ]ün]JםšFIÔpÙ`š5ÄSrÅÍ÷u¤‚ªœm$$ZÝ¿»_™éXÑɐԶHoÏnêl¥9‚1-qÉ>GÚÙâ1x†h
          JKh'6TÕ«Ñø´¶ñ	(Nä{`™óÑ9½I!aŽjNIÁbV)úœu·bâžx„ƒÈ÷UaS7ªŠ’ª‚õ!p)ìÉÊb}ô™ó œ:J6¢pFeî8æ¶6âÆyâ5“²(H­&Uš"¡
          %¹»¸éVït4hÎNÞ|Á²„ œ<¯bØ>Ï¥é)ælWƒSSÔ®[ÕÐÀ¾/Û)°wH›¬Â6î‹vÓ»gRR‹dO—)®é§ŽŠn²+±v8¥S˜.	Vl»ZGR³P9|^¥ÕÎÐÔUt†–Z>ñè]í¬æ¢F½µiø>A‰Q—ªU¥Ð¥&»`´÷VFî ÖhmŽ·ŒˆÝ0@}‚ª“ŽRÙoi©˜]/R™RlÐ ‚{õMY±zÝAƒkk¯ ªò-Ÿ‹}UóÓc’в@“€!ÉEx ^`ÁcUЍÑ:ãX& :m¥©0
          ëæbEÇ#2·G°ÁP~k ’z°?ltvYÏìá¼!ä“2HB[¶)Ý2¨â¨!žE»mgã`š‹ö¢Ð©Œk\¡+n"ÃÙ [Ñé¢Ò;Íw0•„ìŸÁ¹<M終òºPŸ7„Ë@ênM,Ë4h‡,îwf
          NØÊx)Ê}>á±­itbØ6¢õ¨‡FÏJõN@Ñ|šŠTQgd™dgDI)ӛr§ªpG«:­£º¸‡!
          Ñn6œT6ªHëW"+û†{;³øP[žT(¬sÖâÀK̓¾§ÌÁ"Ũžf6ä¾Ùº D)k‚Ta=¶™è§ž“8D0w7"/tÊQy%ñO-%Vµ°e(ÌûžITX&
          œ¶1Ð7ػ}|zßצÄöù8·Ûþô¿&%§°ÔÞ¤~Õz–ž—Ú“a²@©
          ¼'½Úeù¤Jò‹ÖÌèrw4ßçhzV¨¯Ô;ìIޑ†9‡ÕU!€Aó•D‡6íg{gÚno&v	*°iµƒôQ•×´ÍmÙ¡ã:µ$â'(	=çàҒŸ›/!+ËO_Vø£–æ¥"ÑkJüßXåsEŰ[x.QÓ/
          ¥?å53œîL¸˜KÈ!–	Kå*®ö²fdÛÁô¿$År­P0Ml"bO·Ö!†B,݅"|è0ɳžTˆÇi\È"?º°J‡>ɔ0_À¹îaÓrUÉÃXlÖ¬ÚI­yMI`GËJUÉ7ôl£ZߊšŽaÕHDjGB­àÉ"ŽjðX%7‹sc ¿P‡‚è]Ö6ĈLTKí·NëÑ)óðP'†mgt~y;Ô
          rÔâNBåGS“2Ã!üc•„÷å©<ñ•è„q*yìiá0¶oÓ¶e¶‘{Á(„֐Jh48ËËÇ%˜Ñ‹ùš½4ĐIىfîUˆ-L™~àÍ‘×d4¢MÂ쭜qWk†—=¢æäfZÃï`¶ÇYZ¯Aa¢¶–4.pos‡óú<ô9S‰ß¡ªJ^ªÓµŠx†K¦ƒa^‹nøÅpï@‹ÒÃýÀª)ÂGt‘„[êÎ’µ}æXùhÛQÀ¹AbNýÞLRž7†C*Ðu'›r~>tÛŸþ†üaŸM“}ñŠT	7Q0»îÈí¼(ä—qѧÿù-ÈÙöQ_!k[%Ëù»Y	©´DÝ#	^§L:« ‰÷aaB	+å;Àyš©í`²Xò¸6åÖ:Œ&ºm
          ¢Ó1¾Ð<g÷«¹@ð΋2yƒ£Ö
          ©摎	Ω€ßÍm}ÊȺìɳ	J&È g[2•ÔíVU©æF)ɘ)øÔnl~ctáuOjdW$X‡ò1»ˆ7•ttôøÓ‚Ƭa€›#a5ê×)­Ïö¨ÈMâ2-xi$‘í,gJhŽ25i7R¢pè%³AP5x,Q	4¦`,P¸ÃÚyK3¿ôô¾Ó)²v“ÕãT?p/bžòŒp÷zz™_š*ó‘)xK6+Aq)Ísà‹Š*¿Ç¨f¸m(05,ҙ{ãŒê”ŠS¨‡W\*[ èµTlû
          ¿cþ-¥¢hÏæUÀLÓŽo‡Û¦oú®-©dq1‚|ÿ⌞¸¸‘“ù	0€ÇÓÁå_ÑŔñt3Öx§BñB	ÀÜå}ki0¥v΄HçaìڪǹEXéXôòì~œ^ÍÏ¿¯~]MOóÓØë#ŒdÙî{þwYÉ\‚Kí‚$H$ó2£4š0»ȏt^Ü*p‰nµX€Ò‹‹šš}»WÑ@¢,yâ”Ï«Li4ãq¯bM}êÆzH§û°ÉܘԮÐþRR„~ß%=A¼SX
          Ó¢b^H…E ڏéØ8gßɒØð7DùIÒ«$ZšÇ0¶ã>ûýÝ5‰Y{¶*J=à·<w‘ê¡Gu©á´úöÀº*I‘1[!‚z© çԗk.^ä˜rf|/r[òŠé¯Ä¨rM‹Q¨ú!8ë‹ÞVŽišÉ¹¸hªZc,–€oÖU›D?@rJf‡×Ž#‰6:kRØÀ³b­£Æúì¨Ëè;Ñf×ÿXãKbÔCí6‹{£ÜXñ]övc¹ôLóïç‰0^̍Œw]õQÕ°¸­²Ã혲¾„'l&U„#!PÌz_àq!y~ï¨>¼1æÉSÖ¦L—gQŒ¬zóúzQ·ï¢ïö&ºe^ºˆ{ꂠýúŠ›‘¹©Ú	#nP„Ÿ¢†´"ëĘè«è?XÑÁ«f„P-º°§krÂe»ÑŽ´´éYG%ÜʼBõð°,„§/ÏÆ÷ô¸Ü7¹»½¹¾º<?;h¼£03¾«tµWàú)W¯˜ð{Ëá’–¯øAÒ¸KH@ñ®á-z2¿Ï©¢mâˆôSt7hþp}ªm{ìjkØÎ£Ê'ýÞ³=a‰·Ûöz»íÎI;ccCÇ8®ó žQ½†‡¸ˆàúr(\•-!T6µàAø<¿YÖ~»ÄEÍÏûþÜÄpñzc߇¥ œ1¦!
          ¬iñ®Ä+í§'lÝW'tYˆà–s©ìb¨9^àÅóc[Weï×E~Èß»VB·™ü^ðß§S™S<*-W”/ƽO)ÚÃÍÊÅ»—Vpnš÷:}‰ƒ³‚+uס¥é)Œ‘/£{þŸ'Ip%à E©+«ÎW³^^HqT† zíN;‚è¬ô?$zN$¥ß}ôpOøîõöíõåþ§ÙO£«³y菇Lñ÷è^*ûÞyÑÕÅ«JŽU¤à,³Þ[¤D–7ܓ+ýãkb}þLó…Å”•T	­XXՑpÔ§jJâà°K»¦ìƒñÙ'tã–"HpE 	‡l³+eQ«އ°v…˜[iU*ª¥4 è
          ®8›hÄs•rì¦;ì+÷Yêzj«/0æù‡»=ªª¡Ì2Ïz­iY£ã˜â#aý<€3)E±[(roÐr–ï²š…¥XëüÚ¸?{)ûÈEt{XZ¡£VOńMl.=ßô&C¯3ÒЄ~?Ô•Ÿ‘éy7&xstCüuÁ"ª…¤…hªÿE½e°âpž¹[-$n‘íDñKS,4ò"´å4±j¡}HILëgg°EwÕôÖ8é©v^,aŒcFá .Îg(-Êv-;lÑVäûú'0†“£•é>Átе¨Ô=)ø†šÎý"<yz¸¿¾\fÓUe¡“('Z…ÀrG3ý:á$ŽÕÓàЇ?À¡zöb®Œ¯ÙdÐbsÁ!úïfeHÀÏۗR߃žÎ²Í#{ekÖ
          ë¶LšÀ3K‡dc¯±qðÑáÝXo"zɧW¦%ゎÉ!Îϓ-ªþs¤ã`}®³ZM÷œoSÑ[ôŠÙáé~üÛäÝ™¿E™·	ÙÎôÂfv#R)Ma™ÛURçŒe¤¦›Ü<_æiìÚ¦Ž °ÏY\ëÝIW÷Ò)4Å5SŠP„;I.ÜØc…X6‰mÊÔ¬úB%…R^䒎•äÖ¬k¸6[ùÅú×WWÒeySŠ‹‚ëäLm÷&²Í2Jûg­\XÁ*K`·Ž¾êˆ•Œ©vòÍÃÁdÙDᄒ¦lf¬‘šp‰ï8(üU÷`æ¹æ³—{Ëê¯ð¨t¨êtŐOÔ1 2îL‘uÚlO3EÙV/?€¸þXÛ;ðm¹>áæÅÙ¼éôf„óaq›nÇ2™˜Žx@¯'ç*~³ß9¸×|úÊÎ{_. ógèwt¿ú0ØûŸˆ/À£ý´ï­Ý€Ä?=¾ïØ/Æ€øv
          ˆÌnúÙ+`ùãvµ2‰Ia£„ÿ(¡œ.l³•{üRF\<â3Ç J@È –ø4`‘oøe¼°ƒIøÌ†N·ØB‰yُžÃü³_òL¦·\aS„þ]úÚK¥þՑ9ړ ½¦Qê“ÃG×Híþ²Ñ–ZÚW:Ú!í‹r>ÕÐuW|:»è;_½¯ªTúç‚«ŽëÓü»?ç‹QŠ9™ðXP™G!óÙ
          pÿÈ$®ù/ÆüäK'ĸã‡ƒüê]¾Á2Jd][|KÑ*#߂¾*×ÿÆ÷Ô1·‰P8	œòxòiáIYÞ›I¿þ9wa¦Ôø¢S©åÙÿI™&Ü2“u–ÐËކ©ºÉ…1Ù8/wxSïҔC±+ÿp\ÖxÏ*IÓMLqV˜)sD`åç¸Æg8±)˜Á°Y%nYBZñ
          _jf2۝ÞìÕJµPê 9€ÙU^.õMþQ'´¯Š’¢‡èâ…X‹
          JJËp‹´ÝÑõ/•ì\|C¡)n¹žnÞÊMÄ:TEI
          ζ¾»8´toÖë®+/ØÉNkԋšB4󻺅ˆif~OCCœ28Ý{íó•ÊaÇ0}¸e•IFÌiÎ+\m“É\u. €o9ƒÂa&G[8ÀK[B€Öh @¹à}@k·t°Ìµ¾5„²»[³õck¨îàÛF4Æ+Tl±#VªxaB]I™J™Ñ¥MÇêê÷@%=Z¡GßGcP‹B‡‘”Çèbªd	RŊx¨xÁb]JYM‰"¨°Æ’…LùHn¨è<À¦Sã†9ÜœŠÏ#H‘*E't+Õ×6…6MºL‘àyrf‚ÔÊLRUÚG(cR“žä!ª4qqSHÒFmÁõ˜;ËRS 8iL/dkÐAaÁظ†HäF=ŸÔ§°-Ö¥§P‡“ãrB%IrÉɐuñ¢2±LhÅ$¹²z¬MÒi*Ó#K=f¡‡J®sGñ§åì7×ݼ†@ ç®œâ8÷ɟ‚„Èß=Ç"‘ƒÊA4d	É뿃`,áâª<ìnŽGP´èÊa6å5ö"›1Z
          ߂ANyKTt¡6‰.òJ¥Ô$0Õ¯Í&AgŒ7ÙÊ߂6
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        2. GET https://fonts.gstatic.com/s/oxygen/v10/2sDfZG1Wl4LcnbuKjk0m.woff2
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (474 bytes)
          GET https://fonts.gstatic.com/s/oxygen/v10/2sDfZG1Wl4LcnbuKjk0m.woff2 HTTP/1.1
          Host: fonts.gstatic.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/font-woff2;q=1.0,application/font-woff;q=0.9,*/*;q=0.8
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://fonts.googleapis.com/
          Sec-Fetch-Dest: font
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (944 bytes)
          HTTP/1.1 200 OK
          Accept-Ranges: bytes
          Content-Type: font/woff2
          Access-Control-Allow-Origin: *
          Content-Security-Policy-Report-Only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/apps-themes
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy-Report-Only: same-origin; report-to="apps-themes"
          Report-To: {"group":"apps-themes","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/apps-themes"}]}
          Timing-Allow-Origin: *
          Content-Length: 16344
          Date: Sun, 09 Jan 2022 15:20:40 GMT
          Expires: Mon, 09 Jan 2023 15:20:40 GMT
          Last-Modified: Thu, 10 Sep 2020 17:02:44 GMT
          X-Content-Type-Options: nosniff
          Server: sffe
          X-XSS-Protection: 0
          Age: 40068
          Cache-Control: public, max-age=31536000
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          
          
          Response body (16344 bytes)
          wOF2?Ø„`?wŽ6lV<.	’b
          Ð¹ƒ66$†h … vÓmÆÝî8YU9FJe^ñÿ§-ưãuÙDBD„ã¨ÃØÞÚëÁ
          è þšúŠ#¬¯íµNB'ñÀäm÷óšp¼Øiêêõwøß†ñ¯$DëŸoëùŽ#¬íÃz—nÇ_/ÏCêUÓØ6ò'9yyè[ûÏ[ÕÕ3owAy"ð€ÂD9<>–ÙØÈÿj€w׿J”}8c]g¬‘H„ì$e”Ù@æÈZÉØg¯Ã…ãÆrçÆ¿1ÝÿÎO¹U_•z潺Wýd~‘šŒÑb¬8	ï»Ý+æ_ÜK…Ó¿¯48@,Ö­1MþóEÒ´qиÊ]j…ۏk½½ap€vˆ>bSp,„1¥í	þÿ«jÝûÞû	øJ#*ٖ#&FÚìãÃá$šÃ
          Qkw[÷3¹*¶Ú¦ØÓgƀ‚èày´Õ¼òÃG,ƒØI°ìz5,6A3k5%E®z™S³öþ’_(­…Ü/Y¡iK„îî˜yÊS…Ô˜µµzàÏ8ø–MÜæp¯eûySÕõý;@\*™J¹´)}–éVök†éîÝ¿ö?ŽåŠŽ¢!*)
          EŒ	Ð
          <B‹˜V;¨FK’[¯S2yLi³·ì›=fM†qÊ0mñÇ~¹šuÛ<(ˆö9_z×âe*p:HɶÙºCš
          â_'zìëÙßïîߦRb4íÝ2Sûº
          «)©@ee°—lerÈ®;Ì»¡˜lñÒ˽ñ‡ïHeâ÷%â¡{’¬QÏÍ
          Ë¢¬¸%îb†‚d±@à´rƒáΖ'<0‰ör Smw¼KmÄ­ßÁôW îýӝƒíË@<ÅøÜoœÆGÎé\Žø<\y‡çºñv¼Ù~7¥úàsƒ·1²…ýݶç;TøÊSL0v9M´ª)·ùR¼ô¦øqnxYûêUv;oØ×&Ÿd
          wß×4¿ä—7šHQ÷Ñß|äÒ÷ì"˜‰h仞ú¯È€çA?+ÏhóÞ~qËï{À¥±½:â{Šq.ùéuÃåpƒ:ËKpH.»K–T.vÇ5
          ZóÊè{w3՗ãø¿¼ñ}9*'Cs<ù¡Å;%¯>õz«œŽÊÀ_ßb*ÃÀg_äÝ}*Ã	ï}qugƘª=ôïy«ñNtô:Ï{­Ì¡h8L›C&L™±dŚ
          ;nQ·%<‚…"
          CR¨H±¥¸4áiÆ×¢M»ºt›·`ђe+N8é0Ô©¢!– ´%”¡$ÈD‚0•„˜I–Œ•g-	³‘DØI¢Ü$1’8¬$Ï%K‹	„t@°$%T’F”d„I‘Þ\V!.†7‡hÒ¢íÍ!Úuë~sQó–‰Y‘Äœd”Äœ:°,0]’0IIÔ[ܳ¥		L‡ƒr°7Ì!®D8”-sAzs!hh0˜8œ'Þ\„/?b\€$R‘C«ÌÁÞfÒg̈	p³$ÁÍq1Ï"|0ܪ㤜SXgX;+ÁmK’.ÙO{ë°)”¹/9&ymFæ~€N坽a@¤pÅÉ<%Ç}ÜÞ$/»{a€69Z¢0Ϝm€8&M?~CK)@‚ 7½8Õî{œåGïIOœ ŽGÂ,·*€Í¹ñô8øàå€лH"#7Ü)ʳ`ŸÆáŸy7ÿ;N¡ˆPE š‘Š˜°!÷÷qœ^KañÞÒy„ò|Ö/ïûLŸîúfíüûûæïëGf͘4¦UŠåáB 9ñ©ª“«unæNa[Ô|ܯ1J¿ÚŽÀZׄ,…ÿ*? üÙXµ&O­t»$ՙ	B6”}9Šl—x»
          B´bQüçÈZòc厕dnŠ]!
          é¶sÒ±Ç`sÕ\êäíR¬„$Œµ¬µjeYÄGþœN¡½©íl7%[¿Ÿ%:ôܛ¦Ú´³ØhÜâÕA32ã^£’d¿hGZ$RzgBÆG(4RÀÒ]3ƒp€‡6”åÌyêß̑Ð"xbÙÑHóêÀa+°Ruƒ»Íêÿ XŠ"†	6!)ˆŒ àTªÔ%Gˆ²Ô!‡‘ìÏf²£¡âC3Om¨, ¿Eˍ¯MQ—%`È#Þ¤…̃›dQôü›(“àŽ"Žnd@‰ü°Ú.’M­þ@glc¢*›Qp„Ÿ•¸ïøZˆQû «U™‚C‰Ã֗fƒÊ‚$°íkVTTPyûR‚[À܊h^ʱ_@
          „‚
          XЀ:PÁ&˜À„`;¢ý»©[‰É‚$H2A…\Рt(*Á„ƒ`A¼­‚¼¶
          ’ÐTé)X'P	éOŠïfCwmËãÓ²[`›:Ʉ&µÝTz¿£é.fönuNlwpL#ÛO½p—oï=nÈ«»L¿O5ý* `—¤`gòÓk¾ÓÍâÖí‡/ÄËè0b“<þB>T—¼Ã/Yra@ab¹#Õ Þ¡²™Oò£ã8gl砅ίº}þ¡#8/ځ|Q%¿I>Z尉øœó…"Rµ1^AiBØÞJf_í5»ììęÙeåÄAA9%;4Å:L¹ï×(Ä}ÐoaLK…³]&¥×ޚÀÒmRQËÏ"µŠÛM£È9\>¹R
          ;’TLai¥èbÂÛ
          7–È}ŒzO_eÚh›ŠŽ°+KäQS¿y)F!·`0‡ÀQ0là6‹è¤ðÔTâ՚m¥ÅR-&Ñr‰On­Ë1:ß<Ú´2[Cvì:[+K÷õÝÜ÷S‹Cè?6œ5rv¬Š]·]Ö%V“Ôxû¶·ƒÓÁò/;WáÞšbq	ÔtCÙ
          TúÀÁ(.ç=؁¤6ò!(|ÎE!_‚–¦A(²õÌo¡”³f9+ìÕKÚ³ 0™‹B¦‚¶fV'có&U¼${óà„o’~H†üª<tEüñ΢È6úŽV7Þd¼_ùj¯›Æ®´Kj$+ÔI–4Tš":Õà6m§²±Ü’èó ´HNh“é¨<¼‰Èòè°ZkSe/ôH^èãE6‚eœr RÉ0;ZÔæì®5|8l~Y;ñQ\[îD’°jh`í‹ÀÆáۄ_`W…½/
          _޾(œêbpöÅø~¢ílòeü²þÿð\Ãm  ªÿÏ¹þBüVÑ¿¨ßø÷þWþ—\êw]á `µ[U”ŧ^É/‡–TTnl "‹ÿ+ȯÄ<€ü÷4(ìÿY"ÿuP&x_°]=5iFÑÖ3@ù_«ä\ƒYá/©S»BYX.o•µåÜçd…Íë¼|ÅÕ³#?—ÅQ¶l…tÏ9.Þ­]L©;³Ë\\f›gß6ά­ŽŠryeµ¹Ê©ˆƒYuQGaç‡E<EšõÖv籗çÕ|Öލ2ožçÅC»ºÌÌ{éôH³7ffÇ}®ÍÎBòí?=X*,ŸÝÑz³*—ÞW¥™UfåíFíï8ÅX½›7Ãs3[Ä8ŸkËYîš)ύ¹h÷þñ%òZœi¯—©›…ÚäÛݶXMNU¬ÄÅ<PÁ ¤As±‚¶Y)þéT ­ebî$S_ýւÚÂë(ÜÉ!í‘-=RÔµl¨÷ßÕ1Ë;v=GF˜5—rx¹ïsäW›È9WÌ{-HiebîV85Ó¡]»ÑæÖ=òoޟo3¨n~h÷җàõVO€r[À}T™•[^°¿oN¨VT:£kÕFÂâ˜'!N¿æýñÈL%å	«I†ʒ@øÿÕÕD%ãÛußgÒ3_Ñô˜ôm×9„9ü%ÿ7[ãþ¬³à€BùÄ-{¿¾cÌEseQ븴ũ*tPÕù¡pŠ>#¦¹©5+~ÕN‚Â',âÊRB¢Ôr€]²¨ú´*Q·Ž9®u¨嵯û|¥ey§šäVÒS,»½cdWï-mŒÉ7™–­µa›X{mOË>æ¯)# aR±Ô9ž8²¬ 4ã†
          ¤ÔäIJ<åSš¬„<²VŒòŸqèð
          ªzž¨ˆˆ¨ú5,ò†èòm#ê±
          6й³Çt_âZš8ŽB]›ß“Ü]ýLSŸ;÷W 1´]µ7Ü_-U€0¯G‰	ìð#¿SÉÚ.&ÂéÔÝx¢ù´ìßBñòÌvϸ:À¥#…£‡Fq·.Y§îJº»loS¢”Y)*‹~#‘·§;T'ldÞ®0ÖIdAa²€0šš˜4)M¸nÚÖ¿§i;…]ÿ+ÿÞþð€h˜là}Jò² ¦š.êƒ~–5‘ŠŒ@ŽX¶¿ä€×XpßSãÐF«{óVÏìîp'×¾¤£dîTãºj¶ëÀO"›ÿr ~ߦ)Оx¥ãæ¯z(Ý]þsòªîT!êWƒƒÙªbGjû†yzfwˆ=š)œƒGÖxQªÙ¨2PÌ÷S±µ÷ÉQXcÑi3ñš0ƒ&æVút˜Ô
          Ô'×L¶?¬,­àr—uÌ"(49Mò)ٔ¸;¦„ÅyB94eB1OòxóŠ×ʕӾ´€Ó³]¯yǜk·ö®¿çGþ<žî‹î Ž±‚̽L·PÄ©ÅÄ{`Ì@:h	ÎÜÞñÿBˆž/¼Ÿ¦åÎðRsìì΄འVªPçðõªåvÖ…ënŸÉÛÀ6{úddq&@kî½÷ð;¥Á=
          §{%³
           Aá©>êB§˜”’‹nÆcd*°õkã´Ö§8y=þéGŸuô÷€žž1’.²—>“ó‹8·+"@À¶V?é·ö¿XW˜ä2Àªºßö~ÅQ¢c×¾s¨];pýEÕùÈQíß«ÞB$–#VrÄmL+öMJÌGë/¶,«;%1ðRÜbCCM¯1a[£º^÷GYšºçˆJ†\fÍÉnˆ’Š6¦”+X»݅Eò—[Ë>†©èŒ3bG³Oءљ̺éÏ(9qc{ÚkŸb¶ÿvØðäñ›q›$Ìê+8¿ˆK˰0·p/Žà^¡þ€S»pÖÔÄ©ÄË,+϶¬dÎÍxIÚýӏ>ïè™Lý‰1,Cg·U×CžQ¼k™ÎÉ_ØËÙhý\›Lt_MÌ×;Â
          %/ü僟.ŽÌ%t¹¿º¼-V¬Á‰ü]]œ°¤MFR¡‰‹<ÏãÌ&ðÀÑëðÝùZSú[kk¥¥iå²IX&‚©e˜zIÔqI”‘b-^t1êj{‡J½•/›CÐ1Zö“
          s)~sjìÖ_¯qN›¬«Å¶ïžJ®ù³!à¸Åƒ;Z=ÑÈMÁ¸Ìö³îžNÏC·;”0Wgv-Ê¿ØtKñÓ¥‹ƒe6—Y)ōéž7ßÿý÷<Ò	ˆ<¡Ô¬57íÍýz&PfváÔE97/딪Ÿ¬¦)‚p24/3¥lÊJ%„&’µY·~␻¥ê»ß=C¬Ä¿¦Dèé½½‡üšq&ÖÓ—x#æ°~7ùpš}\$Ô÷ýN·-Ñtp“×X2­˜ƒ´6Sžç‘AyŸ‡‰û[eY̱ðcZÃ5òVؘS‹úî¯åv<ó:F(¡‰>t8f·ó|h»ª‹¤Ž}ÛüüLݔ°f{[ô¥øêÏZéÞɚÑwãÁTñ6ÅJË_Š'«¥J½ÜÃò·9˔ý!Y‡È6¬‰-†Í/ʹšÒ.5Rÿ¦Ý”Ù$'µ\D™ÅW"¶˜ÿ
          `ȃÂbÀ@¨¼;ىŽCæÿɺX_påýúçæÇæ„×2t?šîô6sé•"ÿ'°Sß?áZ÷Fþ¿#¿Rg#ÔÕ¯4pøÄrn”næ&½Ô³š)‹µmQZ¡œ•¢/G¦d‘kú^<g]ÿ:d{ðWTÇ­g)Å~úlbä‘`´è]•ÃeÌ=¥Ôµ7ó²(«4.ÿ¹!©ÿpÏÝFå•gÊ¡ëZ*›ÜwqÚ1,‹V]{=ÒÒugn?8Åi¨V†¯‘Ž8P¨òYËÑôK- 
          ÄöãÐ\–b… 2yVȎA¿´€GQ§YL”ü4‰Ö2
          ÕzÒ*ô«6†Céf¯rhЅ¿‘–ŠDY”^6-¨Â–Œ¡¾$0*„²ŠPX‚•i–ICuL ÊH„âz•ƒ5~«ãµõr¨ñ{Ÿ@½½ …u^–-@枵½:5uë烄6nmðTÊ)hD˜>UT˜ÉM÷°M4´úRLlF,¬Ç%ƒwptóNüšµ£ƒ0ôY-¤¸Åò´¥¶XééO™w-ÊïŠÏ·«SÉ!±ì&—Ê&xnGàL‹ÿÌŸ™B™qxî²]Å,,ç4ß†ç¿ÆðœùÙšûPåÛ¦+bäŸPw¤qõé
          ºÀÿtùy•cS»¿ŸÞžŒ˜ìøñÔ7­ÛŠÜE7¢|¤×÷/>É}fx`/Ac(ÎÜÑGŠËShiej®¡ÉŸG—w&FVw‡F–oVv%Ù·ÒºØ)i×g|áKãÅÕ#¦1«Bn7¦nLߨo¿>8<q§ŽAŒêIN‰¬_Šâ1Sbº÷­•šÜIÑ>e¡Í×§æâ&œµQN&,JX2‡¬Ÿðñ·¯Ê³/£°v±J¹²¶KƒRÿ[o›¸"¬’ëXÞ[¸\?p®'ëƒ2Õ^	g’Ñ,/ì%O]'ÎÀŸM?°xYú_ŠÌ?yZàkɚPÓ'e2WÛ
          æNIý
          üÔp²p¾U”on»O›:4Ii™Vo§ñÇ„©S÷{bì{6ãŽÅu„ÿðŠ'EóQ툜KÜò²ÉŠÉšòڑ
          tâA=埣ŽëzFëd1õÀM_›TD0xs7ï<Ç^mÄÓwêu0¼F©Ï²Â›©7l¤G«4ßøÌ(ö œcf]¶—Ÿµ–N¿!½±¡×CjaÙC¾¡¿cöWmËÝÿ„ÙK=¿Ý@oÏÐCÑÎ
          Ãß©ÚPìaE¶l¿€½5e9‚‘SQž¿“™eÝ\Q(|ñÓ+öÿÌʬ3C®žYn3ú ˽êöײ±šq–?Ããbõ=]Rµ²$}AÂ,áf7 ^4^ÍÍR7Üé£tÔ¤õUËKž}’=–R]1Ÿ£Y¥Ò½Õ±®ð&£–2–2’2Ц-}qmçhÄÇ/¿vX¿-ÖG
          ̳ÜK˜SF¶õå)Rò÷~¹SuSÊفã+|nϐVhd¥8wøF[Þʹ»܋R"9§ð9\ô­?
          è8Ñ¿éˆsÀ퉥°l_Þu©«%FñFËjG–x]-³ÁP„†}¿p{T¹Çå'[~—X¶VX×£ÑP.:»¿yñŸÍْ²ùLC®aۍºS2»WoÖ"ÆÛÓ²gë¥&ê³Ó‡Ûkާ
          pèodÞÒû8¡ºù;ŒÂk܋r"O8'<³Š\¦huÔ½ô##çÿà)xêR
          ,ۗ—+Ú§x͓KÜêááænþ¤	\=wïòžèSþ«Ë¯ÂO7d9ç7Ûò7ÞÅ·Ñöñªè]·;ÛÈ/R°8£v½ÖŽ:T¿QolaD
          3r.ê4’/Jç›æ‚lý»	6-9=,¶°ÐW›E¹zdc¬Í[¯Á§2¨(qyk3Vü{9Ÿ"ÉÁl¥7a½ýB…}¯”Qƒ‹ÚVû®<>[×kAU>&ž V¬Sˌø8
          '[Êm9¬Ì¸_2!…¡~c!ÇóQäá>Ú\ŽõÝGօK·üÇ×]?Gù²}㓦¤»aÉÎâPR^Œõ‘:Ë3´ëÑqÀgNÅLìàçvfÔK·g‘œm}âIóck•MmÛY»Â•ö]	•UÇb7?O4Œ¨HMžP¦)c('žRÛÙÊ-Á{V¦á}œs¥Žwó.KǗB”yáÿ†aŒ‰íPù‰!ªÜÜyæÀ¯±$×êþHᑅ£‚ÉË6(ÊHó¨f\[6s€n¶¯¨ݚa+«NÑL¾‚­Ï²[²ç„Z
          Â&e0¿Ö…¢š¢¦F²£¢¬©mÒÁ¡G£Á>ë/öO¥8׮ğ)Û!q0Jå1R½CáPþ¯\Û×&n0¹ ¸ ¬p2[1{õË¥&õx€ªÏîa¡QhHç‚-…S—©ñ4÷PH“qÇ|»c~𛆓kØÔ­Š›w‚Û]·€êWAÛTM)aÊэhÁ¸´#—Ef퇞µßåɤ¢¢•”õý猪ÑB׉MÿŞ6BU› L(}*‡Ÿ¨@ÑØU%àüî쥆%ÉM‡3†9œèxÅnóöHîTu ·Ÿ0fõ+Âq]qÁ‡Ê½ÓsñçôŠèÕ¢U‘Už–:¡pOóü±ô&sýS Cã[û÷5-Ø·]z{:Tеä³>,‰[Mg) TtdÜì¿jÌÉæ¼ÊÌ:Î(²Ôþü…+„Ձh˜Ð‚—ÁB®PŽLÊÇÆÈO‰å^ݸÅÕvµˆ|dÖðå榕[f«õ
          ¾¡vྲÆW» þ³fÇÿIAyהõRûDæÙû9_c|Î5Øl³kÛTô¹¹yj_VÅFBtbêôÖñã›gNœ<
          á³¹¢Ö¼¹ ÆÙ\‘is\2è÷¤HvœP<¡ô|sQöÙ/ÙgÎʚ=”“ù½¨ì¶y\¶äžÜÀ½óW6;xC¼c‡únŸÙÊó©ñY¹wòþSÏÎ1D&~ÚóiîšrP¹	zP¨ýY¡	oÂÚfàZ?®—ÈЗòJbУœ¯…+ïÓû„—pý·N	í¥t£‡¦ÕS—ùŠü
          áèl4ΗS(yêRôûh‘ìfúB‘cʀ=©1zJ=tùAK$ö¸%¶¯ö¶Œüëû 
          .SS˜©G|pÚÉ ­óF±—ævo½ÓR¿Ù3rwgÎÝ/Ë“l	ϳY«á+o4Åý‹íðxIóá¶¾’-uôË<‰°&¥Ô“e?KZÿþÏ>vk_Ó/Lu(ê9º·unéّB®›LI">Ô&c°÷ÆúƒöG“Þgwª5¬Àa­Š9­aN˜§2ï|3þ÷ËêzÒ)²¡˜ütþÖFë>½ô-ˆuºöK¨;|2„íÛþ6øâ{ÙW¢âŸÀ««W»§¦Â¸C14uhy¬W:Ï–»4|iN,©_Ìt£ýĤ+E\¸(DÔɪ60ßÖ=Yèíç«ÎõŒÏ±õwc™z˜°¦ØÚȱM°¾ã%âü‹¹rþ¦.Šñ°X/ªm`)‹Ü픘àUƒlñΰ¹ÒsŒ˜•ØKplìÿŒUÌ×#’­FÕҒ[c›‹ó&r¢`ž$ì°¹.óÖÿêÉWÌéY½ƒh,v;\»1²¡+3€Ý‰W,ô$æ«ÓÍòÍ—×ô¼SÑ9Ãڍ~p6á*Ձٴ r|âÎæ¥½¬«õJ™±óڋҽ%ã7¹ó-û‰à-}=#ÂE`%4I
          |ä™zN>ZVŒv"æNöö„'*Ñ>xkXdÉTІyqÃ
          Š®–é4Æ-Ó9ö4y´FÀõŽô3?–Ç®^:X‡ÿ/Gqò=É>±¸sj˜'©Š-Ì.ÏVˆ„»‡à`jg'^
          ½ÚØx1:0þÆlæì¾„ÿ¸'éøhm?¼±³¯½j4IðêÆ·ùWš#÷Çþ]m¬Ž_![zChͯt46]£5ôX×ÇV‡Ž‡¼Ç5‡eë®6ÑÿŒÑÁ7šy—ªfEÚy€ Ò|+àié¿H%Ö
          u^mÞo{<[f»šŽä»§¦9Õ^ð×wƒ¶í"«§ÎÔÇҟƒ«$ÎY‘¦Ù17eYÇeª‡Bú¾
          Žcéþ-¦å:ì ®ðòèÂj«»Q~»cY\çèZ +rhм¢1Ôrs(ô­ô‘².ÈtS¿`R»˜Õï$ÈþEŽ1'CRK’,N“qŒMº7rßC+Ê˂"çXTÏ®¸?r/À°Ô7„m§€õÈWH¶!„–ƍ(ò°óŸª€¨ƒjñ¶#¸ž£sŠÑX„ˋǪI>û¶Ëêò^Ò<ì¤ø|‘QÏûÇÇß}Ò®/Η>‡ÕœÑ/R<‰êÓè;Y¬\£»bvÔìèÉC€vö`ƒ´kìҹç艳½½Fîðšev*AŸ­k¥á÷/O]ÚYr¿Dâ좽î_àMM*WÁ™+îâẄ MtB£ö]·Q²¬ òKÇ\Ûde"à•)‰°&«„6SueÒt¡µ½kéd•ž‡N*Ï\µò’÷ú¯TÐ`é­ôNÁæcõÙ$T™à©ðïTÝ"¾;åf«RžH±IPõU/ÖЪwWh±e£\-#4ÉeñäÐg'•;rvp¤ù툥!á ?í4²c*<†%妝Ø+21ʽןð£	Hp^OïXŒN€½¥”J™ze [úðB[¡wz9½¦*uuv®Û~¤ÂhÂÃÒO@´®û¢pe$* 9ûå*w•‚§ËgiQƒƒm2ÕÜ%çIÀÂBAá°¸¨™—Ø+sX÷å)‰Ïc‡¯N»a—g©%Õ~I‹Óhìêt2©©…IZžòp?:C`QÔS4X}CïLrˆKa9aºÝºÔê%Ǩëݜ•³yãz# ´Úx¶ÑvC%8”‹;Œ5ðH	̚®é¦ÂZ‚‘’d+®]á³2‡øÀzë'^}|PP­‡>/ ¥áyß©Õd›ŽF\gvE€‡<ïÓZM#pܙÏã—aâBLÊjƒèÈ×Áº®J7ÿø†¿ÐN}ѱÓÁ½Ñ¾Ó.ï/Öo>¶]üÒ!/ý±Ãùþj°pWgœ·¶YüÈ!=ï•ãÅbþZ0ÌømPˆ9|&d_+=g
          výc
          ž	Ùolž±N”iÆGN/‹ª?|,‚¼3_jK¹R¥îXâ蛤Ué;¿ø`Í×Þ·)}¦¯öZ? °¥ôØIÀÄv0ë§“Æ ædÅXéø¹%#’Ä|¤@¡–84!hçMÉ[‰ç旀¡‰i`¼KÔP)O,ÙÕX‹<ÀMÿ Îå_µð²ð2lÌG‚9ûé0ôYkó²ÁzTÂþC¾Š¾W£4ŒWæFγN5YÊ[î)¹
          ^OÌl¬„;„h¹4ç<üýí¿ýTKZhÖF–ªø¢à»óKž^:Yxï×®KËÀòrQÁâZQRZÝv¢«ì‘ºÞîŠîžºîÞrZÅãtÏk'fÉ›0gKgg›Ël€JP%0º°ŒaŽL2&‘8ށŽ.š²ÐzB@€­cç@­)c“í“›3[™ÅAtšWÁ9ˆàêEq	7*Л*´wµÅ¨§ÑÐÅÉ+Ųå]ïâA3	D7“ZԌ
          çz14KȽò:öß7F6TEÚڙ£ArBƒ´pCÏ¡ÄPÒZöI
          ,sbxÄ>3•ÞF
          ¥·ˆiÞ¹ÕÔ>|ktÀþ ¶!/_œ¤æ!Ç{P¼Ju±Xj9&òlâ¾Y'œçFef¨áœx‰oJeÖ|®©í»§H¡ÆáŠT^Ú:*áÚ¹òÆÁ¡Î>ÞÉl‡n/'5ü`(™Ñ’•ŠCƽÀ%Ò#K6+£ŠFÄwt†»ø®×â¾j9Ì]³¦‰ÔÛŠXøêm•GffªR„Râ¶Ü\pEAtSšW€¿3‘àZwÒØp}ÖAƆÞTt_9³ˆåPâÀO睆¿_È@kb¶ç´¦xzw”¶9«[Bu¬öØ«
          rÌ
          ¿Ü›VÒÊÒZSû úO“ÚƂ¡£ËlÅkó‡ÂæµÚmåŒPªUNר品[ȂÛ?—}¶èšmqZ6"auÊåe7e÷8òkȐۚ‚ßört"ÞOþQ`o!7þPȽ"ý°'ý¡S䏅ü¹I‰Vçè{ËQþQ'Óe8î(´¡2/'åGÀ#y¶CÕv}[à¥Æ+»$"£÷×Àí^­ wîùõïW
          †ëñ¨‰±DSb.Ø*=çgioãdΣ:ÐõqFÁ¥tª¢=bDöùÃ_ON<_êՒp	Ñr6\ó7&³=ɖ	¾¼A’C¸Uy¬O©F@°D“‘†rË":DY4FëfÔñ¶u 0Âaò†,Íy—LØÈ¬q—È´©“—ã\GeÝBç¨%"Ä+Ä H©@:æ	y2H$ÅFž4pFªW8¡n[ÄçŒQ†›‘QØQM¹Z­!xg6ô£¼èjãvkȸóӌ¶’—Û9åd›oøý/éýö¥1ïÜ>¿É‹òèïJHêšÛêtÓË÷)±gW6	]÷îK0uŠï½yø°¡ÁÒ/øDú!FŒ9yžé¼š[uŸ›¹î—_^޽ž~œ;ô‘Wͯrß=}üTäKóӓO©¯1‰_“19ÐaB4„Œˆÿग़$§Ü²G©ÒÆ!eÎNŸ÷³ñ£€Ñ¹s°tχRE@¤`ã«Q½/i,×q.8ñ€\å1ÿõ„"‡±ÍqL¾3ñÓý
          ×ç`]ŽdŠ=^¹Î±$݇Ô•…=Fċ½wvæ!\ZÀÓsÔSÞú5qѶ‘pK²MæãǶòöâ	җЁ¯Ü·z©ïvçƒlO«Á*ÙgÞËyA…ÈUŸ#™)‹.l hÍAe¿
          =—e/¬ÊÊ<)<TäŽËÒh	SoÅ唸…º1pþ¦lÙ\· fïìbŒEß^ó__ºË•쮳a™W³mvqwr
          !ÛwÀ䅟.¿Ó×i‹56Íl+þP'Ӂít5÷Žà¹§«Å7¿bÜ^‰°]ªÎOŠBˆ9!aNÎ!¡9kíôÆ&Zº:è´~,­‘§FÌô³@RÃýìô³9†ÚþÚÔ@udJ4ÉÙ [?Íà°·‘'²Ÿ'ÇS­+šbÜ«@z¡“Á—írˆ»f<|*i·K/w?l·¯tWE)ÏÝå„îî–îf„ïºÂð¤Ýîîq·¿|×5w?t·¯dw¸{„»«}÷cåìfföøÙòŠù­ôÌÉsRïØMvšûŸ¨H¶éVõ^íãúª7õª?=>6V¿h|T]¥jÃ)²X)–ó¿~Í[$~0á".ÊI']…gÅëĹJÒH‡$
          ØRL†TnÈÅòÖs„ŒE˜OJï<{÷Ð)I¦¡ÈϤ§	-;Bs+܃xU‰ÀTq1fÜ-#™Ôe>$F6?x»K¤G¾§9=ù™\gPç3¦aJz.
          v ù†[55ñóWTÜ@6öyÏ­Ïoq§/­Oœâ‡å«Ñ°Òùd¸º>:}cÍϑå%Î푍4ETÛYПû;XÜ吼!@æwIf?)Düõĺ1Rµ	ýzö˝‘+½DTÁŒ3ø;™§NÔ*4Knf1š
          =ï‹ØHÏ:ùÐ6!¦NԖ<pµ
          (Üþiq=2?úœß‚ý7ÈÎWûLJˆ³ÿzÌMÝy™ÑÚ/‰&Ž#ÖúµÄ¿VõEìo78/wm»°ž:(À§ìlŸ^°¹¶^±bQØØ*á>“`¦úL:£3a"GÔ%BP'âÿ>«`Êø¬:è&CŒNb—>p½èÇ`£û%BÿÑG:÷⊍n©X쯴¿bؒi™ûЍžõ^3†p³ßCL±=>EÛ[@Á‡lmpÑÄO9i'h}§ƒíé;ì@$,T|öKAå6¡±ÇO°7U“gZ\GPµþ1Ñ"òü!B!]8	nüÓ_™òØOz»ò’¼éÀ‡Û1h¬.Àn·Ák0\tš{è÷õÎtk‹îÌG¦µ·›¢¹‡!Ãnh»L°È7Ú{äò¿y4Pü[æ%«/V¿ž¯?5óР¡ÎöúK”š{˜kØûÔÇâ`r¿+K8š!ï>¯ø¦~çrië–E8¬?nJ͐‹æTSqš©©7°vgÁ…¶øfP¨Ãç¤~UfJ͐uR\é¸ÞO˜¦fÈ
          §!Û}!_D•d”þ™ô[C€«ñã·ym»Œ@D7FÕr
          €[™ÓÒrh±›,6ÕÞæ!‡¤[˜³x.ú;­>Ÿ|ß¾ý%C§¦$6B 2±D«ô…ÇnÝJÀëƒ$š,x…¶¾Ÿ|O¿ý%ç0½‰(e—Y庎¤M㗚R½vTÍZ>Ùø¸~~&<½
          Có+£N}^Ÿ¢˜Ëð?Ⱦ;,a™¥É#ØJò¥.6)5
          ÜÊbÛy/ª×ƒ})Âm Y­½×mЭýÑB#NHÌ	v†y»²6H’¾  
          ù²bŒ¶Í^ÌÊ5T¹-,ñÆ?ۓaTƒÿô¾šâ`¼ÃýäC”WºLIçr26Ö7ð8Y*¸gãY]¥}֋D$qD°W‡‚EÇ‰_.M*Å!
          Ñã…B‘Õ:ƕZ­‚ é¼w[γô_zq8y˜Ç"ôjœÜɰ5A)üÀ6&yœªÔ<Ê*™Ö]ü+þS–ø¨0è Sòøä{üí/)4BIwq8WË´”8ˆ{,	9'âäúð߯‹a£KÃjƒWð,¨4…ñ¡Ì¯‰ˆó	2CêyÌã+Ü
          )¯»ñqãrN5LçÞ!1i¶Êˈ獜ZL{jFg•ÛtÏZ¦?£dÁZ3ÊØô±‚¯§â^{:ñ¶¥W4Ñú2*”uºà8“´›õÙ8E52wAµ‡5R” ƒÍl*PUö0s[8W­uõùÉ/ùPî+SR„;M™Fƒàð2z9äqê]/¦\9š4<…êdv„ºt«X£qyBTµ†¢*ÛSÚ0Àm<¶|ÙB¤6Z>dìšàNy7vÄlÇ£@ŽHu%À¾„Hgc±x60Þ6Œn×Eƙå±@Ÿ§P£³“«åp¡ÖJ‘,ß¶Z=Nöƒcjš¨¿—ªãØRƒ{Õ–nï»Tkï÷ªôK¡#g‚ØO7Gˆa(ˉˆ[‡<•Ќk®sš|B–^°m9Ï{ˬv‰ª<¾~1¢×‡tFF‹+¿
          ¢òéØhmž÷IT1°Ç£aÐõÜ®áàÕ(7sõ.ÔEóê8׀dœŠ”…ƒ±’8V‰aJè
          HÏQ¬Ç,[T¨€WìV÷W(D’šºµ›±ÞŽ¿·¸3ýEÓ£‡Šƒ¬–¿Î‰áçy-*	§ØÃÁ;ÿ9ÌÂ!”k¤4Ö·NÓRnñ	º`Øýéõ0vC?õyÍÎ0ÊU'@Ã×õ&ÀÚç—].‹ƒ‡Á–ü²›QBij[¸×T¥L*vÜ(ÙMÀ†S–	áV¨Æé*CÐe)D¦PWF@·Pm×@ýˆâ°*"NÑ©ËèÈ¡i]	¹àVß´Z“Ôv莘aU%e›1:”Ê(j>¯2GÌG>tÎùï\
          3SíŒP[ÁÁÔu$[h;U‘sqšgi,$o¼@!¿aGéµ¼ršÜVŽO±>DA\áçJgM·f¢Î†š…U•¥ÂìÍíKhj™ª£Ñ+œ»1	`dVw¨¨?`
          4„n4£Ì\•Ñ^9±€œ­=€ÔݑÓ&lç8V¯B=t[i*o*OII‹¥ÁÆlœ&:ÞÀ ™Ðê35φ^|ÓEƒô;OÒah1kÎh˜KH×0{N†Â¹C…®2³(§SæQƒŒ×®ÃÒ¤T’±ªZ¼E5LªÔTLjH¯›5Ý1¦Ïü`}¸¦tQuFK¬ÿˆ©†´È¥¿ŠœÏÍC¦ˆ–
          …"¸Û™`9ñZÙp哺ªñÉõFxT‹VîÙá¹í(1 ‡è‚”~ÝÔPèU6¨Þý06ƒ ©"ùtDRs„ÔµôT	( øtÙÚâ
          •¾œx~0†“ŠŸÂ…Uœ?®ÏO»JúÞ| B́cJq¤ŒU°gãùÅN¦¹µTh30’¿ra¯£QHƒ7Ôʝ¯ÍؽRÖF!ä䐆å½Ï­Â8Ääj²À¾â\_Ôįˆj¬Æc]1bzgÈÌ)ßשŠ—ôÐñD…‚@‘ù:Rtuª€W•q‚¦‘k–7†d;*£°&Ί<‹Ep{vÛ*V±_o¢p^ˆÊ@ʖè"Î
          Êåùœ^J¢'~\é.ïû<pº$n(ÀL—Ìž«ŽÒÓñj.L€ZCŽZ4¿Ùå¡*Ә‘—Õ¬sLg/Pœapdwš²¥lÔ|”]1ØôG£~éOÂI‡Ízœ^‚›“UEò#Ï$Í{$UƒÊ­×Xxm„“æzpñ
          iá÷—=ˆH¶@ÒG3`b{\¼Žßú”³ð:à*¯›O»;È$ŽŽ^âçë«óӡ˯p$wZp Òʘ²«›Dõå)3ôDt±¨u¦®˜P'­=(¢3–*‰ç¨J«b8,²z裳Apèœf°áÊcX—fRô«sÝW¯MåJ1ÿe4&ùSHað7
          úŸh‰°å:;C‹ZËã÷K­f])âÚ¼³zƒêPN¿cpŒ!k\øa5n¾r6ã)ì~<ª ў98!«í†
          ãzƒA¥žr[çõÛ²€EÏ:-g^]–ô'\Ö scß÷í÷øƒU1‡º<2¢fÂÚ×êo^ÿ€Œ*¿»s
          j`‚Ãï1絨¡‡~l‰5¿'ŽL(DÛk\ç؎Žƒí!â}AQ	Â2å­hÿÉO=ê㊌\\É V‘|Us4|àãÔ3]5Ñ^sacªXßiÜÑøU«ÊEò†5KçTL¨	Ø`ú벂#‘žÏ
          9ŽP«ñ
          ]¹óñlÚÓqN8]ATžIÝ(¸Ô9|BŠÝû/
          F4¡ÒDˆ2êKz²˜ }.“È»•×ÉkùqdÉñD(¬ŒÂxo”(Bv	Ðöœ¢SâƒöÐ3Fâï³°½ÂÄ!ÁÈÚZODQRTøÐšä“þ…Lwú"H:«€¾:Qù`CŽ)kœ$-(¡‡?‡sq4V¹i]™Ä„Ýè­¶KPèßÍÕxṵ‹~іž¨+µԉ®	CæLÿ©S“„Dk’‚‡FÊJˆ*õƒÊ>±ÿ@xÒ¾Eà?õñµüzܹø
          äÇ:ùÅ´É-EÄ2Ã~YÄà¬ðí¸¶a7;Ò*ŽO(¼^.èLWâ¹–[i	´{Fi@à{%èérhh ”;/×ÀËSE¡«9ó³É‡·›<Óôƒé0-Üz?¹Aö& x…Ubžä›aПŽûÄ^0#7R‰Œs5½<
          TOsj»‚ÜR)Ë"æàÒú
          ÓeŸ¶²é¨4nÕ(o¼–ã2µžykYßõE¨^y-#^‹·Æö.2Ys(q˜4?ÔìP‹C9:’´zÿ‹>}ÇîtJŠJ	’°âÏzl!|‡Þ½;*Á¿H…ßê>8¿G€I0÷×Ò~mÑÓ
          \¹ˆ8LKàðËIÉz›
          ܸ{Ñrõ•þ
          ƒZ…»(yš|x÷üx{}~ÚÖɚ®ë`×DRNxuG1çü™ö2UtµŒ&!|ø¿xsâLn¦DHÒ*5íC>ò¾ï^ÊKfoԒ 7ðpæ]梉ÜFW>¾A~r	gº½ôâ44‡"ggüLë\×b§¿ó„r5Ê@<W
          )u1úQÂk£Çþ ï^‘7vçãÜfðâƒÜ ÂYtû’Ìïh§«¬Ba£Ó¬úDˆœ”u§¸'qd%åI®:>£sŋ}Kë~ÿxw{s}y¾]íW¼ž)WhƒèG›Û€XhSW¬£Ûþ+ƒâàÛ6€ïj"]Уɰ=P.Ifw‡;@¨¬0-èÝã~ݶ½W0à°.s=Õ:Š:̎ïµíbùÜsäƒ~ÄEYd'ap¸n‡FÀ¯~àw9s&1z㝨þÕdReÙBr™$ó	W¬ „FãRè+\BшBBùìˆP{µ×ÄuXú—õ´Ï]!Ç¡ÆpB8Y÷	[:@%)_bÞh <-"·K´rz½·þE.¦¥œÃÃ
          o‚ô‘9HRÔñk¡ä|0o%ŸÆ^U̘|MKŽ4[MʳZA!^åËHŸ™Ì§]PʊÎA§§ä³âÁÓ³|´¹Oy-²Ùä,̀['ñMöm]ºV»,¸¨ñÊf!U{>;vñ>Ëü*‹rÁdƒJL%Þî¡Dae±Gj‘âÞž O‘3·É>­k	›CÈëšËõIßJ°ìÉg‹…"ÿüä̙Í^|4öÍ¡*Ҙ]ók«‹ŸÕ)’EÛ;oH°ì‚JýþãfFç+‘Btßt^J5›$B<Q„·èÝè¾ja
          R=„ЈbeÌØN
          h1Ì0k?§ÏЇÔ/3MS[9#Ë#¢ÎÁ¦»[·Ñ…Èná.kÍ9…š†{V2«´ô¿L­tAïýB·›:ÑTŽD¨ºÊ¥àCáЩcZÿâÑƒn›´&ï$sr¡Ü0ÛãϝaÆlÎc檡]½‹œÌþHÝr«µÃž4÷ø&‰·®ª"M"o£·}®
          ÿÝû§¬Xñ+1¯-Ŏ^ðgµï.õsŤ/çƒN$¦¡{Oõ–·‘!Ì×Nۖ•ÐgÄË_!)ғ´V*6A,âpxaº2Z„×Mmž®©,ê‘àßÅCïì禬ÓĎ¿úÅ;ùú<Ü‰eêÛäcú‘`ë(ÝÁAÝ1`¯‚VC»J匎$“ZI'²D[bý
          ËlJþl‰ðSAÁ$á:ٔMV'W4j)ê|z8$îõI¾Øì–Gg±
          {Mâã÷3)jpýĚw àˆ] sÓ*¦kŽi‰™{üwŸ³ëƒ
          zcKÍ?¬k±5§R5^TeÔì zA‘±ó0ϟ0dÇ©[`ªâ¦4þøè?àZã5æ©1"äxG¼¦`
          @Í9jæù†©È•öMQz³à$Gwj¿xºÁ0¯+>‰in)1›ÖûÞBq(R4ª2rI•‡tÖÐ;óæyýÓdAO.ƒîc+]-¸þ±-–\†çÚI4×X rZ¼¦üµX+P¦`jƒ$ñ¡ÉKîŽ
          jèBt5ö³3„ûCUpj6¤NÐI‰~®û!Áõ{Š„÷i²Y@„’ÄÓyT€SG™î©\uårUëë<T¥?úàîæêòd›†òmõ–ë4ÞÁJY>€x¦"äïN“ªL‚èUçŸO¸$â•Pð‘A•Äޛ¹”ŸÞîÛÎUES­Lî=Œr~߯´¹û RÁ©Yn6ÙØV€àîôÅ=ý%}ài𺴄h,ÔK®Z¥WWAAcd7½~‹Ýd° '—:vBp· NR^ЇE_ö!$¹¹.ՈÎIÞ5›«ðŽØD::¶Z¹™T>Öf„£²ƒ×À­8™‹j8Ìÿ/F¦-Åî³HX¶B pã(žÂ]$ª,©@ÚÒUô2)·(Ë®œ¼
          ¯nËØ×ÌízÂI0ŒGâ;ä©äË+÷Ž3Xµ›àG± l†Ð‡<ŹIׯzëGH\µ‡*O#®yï£û¹åɽÉ*•‰ĸ\ÇÒã¦Ê.L#
          8	§p:‡’fW]Wt<Gˆ\-bšöïé€Ô¼ÍŒ+ï¯T!óKÒ6*æ»)Â+ևËòÁÈIÚe–M\}XŸ"Axy_Ææ/\¹=0¯)‡ñnQ] g>CâΓ6KØý~þø­À/gHªìkïPÀnã° ¿5§d×K=ß·6?ùòœù³à^܇ò#@4 ¯Ö›ªŠ!¬î ¯ès]lËO*zRy—Ÿà¢¡Å/IÙ+(Þ+G™ÔI™L£Hˆå#®Ö$V›ÌšF/eÑՍ^5ªK²1ÊjA¯‹Š«Uʠ®²˜Sd
          SS`ͦ*½€gs.bÏ«¦RÙRjöíºkrü5µ*˜žoXˆ©*ÓØ¹D§­¦º€\8B³[gÝí?ë}@ý^c½_½‚r@ÝÀ1ûÌä[¥ÜÊ6‹–§»ø$Þ8Tk|ÉÏ.Èꇩ
          ±|Ç{¾hHk
          Ë;uÕû‘f‘¬:çCÉ×xc=7(——¸Úß_0¤KÍ¡ñdÔóÏûpãP¸çµ'cîA…‡©Dþ•ϲ˜†L¸Œ_jH[qÆaã¥èڒ4æ$®œÒ43ðX5'-ÿàæW%™¯ ôˆÅ~HÎPY£XñøŠ¶`e-–” K
          愤6zC]ƒN7$™ê{oàÿù™
          ˆÔx,µƒ‹QFˆ’)4Ն´à=)µTò%\ˆ2jˆ©¦”Õ÷ÒÀ…ZŒ‘‘¿†Z3H‹QDªåtÐðl¬ÇĬ9!1fûa½
          8TCÕ®l~³ø§0~*å
          !0”ê‡é;JÅÜV‰22NN1ÙåW¤Z·Ê NmÈr"S7Éüɋ`Z,ļ³+`ƒTpðàh_QÇöw~_·ö ûB
          „%xë¿}IŠ3‹¯\1±dJ‡.V*-Q´!˜0b̄ŠƒÄHÆÀäéœE£J’¢±ÓÄ©8FºT™Xv‹~gQ[+VŒˆJ…8hÛ¦ÓÅI5"ÄH1B;+š8f4,ˆãÁcÚâÃ|dÈD§ñåÒq$¢Òï6bÀ„­@8Ák«G¿-4‡ îÝq-•X‰§–m#Ɠ‰›úZ#́e›â©RE‰ŠÓÇ+®Ÿ‡zךi;\Ÿ±h,ëK·ê’dלQK܉	mI%’G¢›\4$?ù(×<¶¸4‹
          ÃÓMµ,Öà¦0pl%6ó΢›~é>0¼@ä?–k¾8OØ,T{ÃO`LÔ|Z_àöSŠà­kÉ£éo¿iƒQé®ba8ˆ]åÚùzýNQìh|6gý8=´Hú÷Å©Ÿ=·[ý›r‚»ëˆ¤ÆÇÊZGø_
          ý½„4
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    3. https://ajax.googleapis.com (1)

      1. Cross-Domain Misconfiguration (1)
        1. GET https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (379 bytes)
          GET https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js HTTP/1.1
          Host: ajax.googleapis.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (1059 bytes)
          HTTP/1.1 200 OK
          Accept-Ranges: bytes
          Vary: Accept-Encoding
          Content-Type: text/javascript; charset=UTF-8
          Access-Control-Allow-Origin: *
          Content-Security-Policy-Report-Only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/hosted-libraries-pushers
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy: same-origin; report-to="hosted-libraries-pushers"
          Report-To: {"group":"hosted-libraries-pushers","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/hosted-libraries-pushers"}]}
          Timing-Allow-Origin: *
          Content-Length: 89476
          Date: Sun, 09 Jan 2022 10:25:43 GMT
          Expires: Mon, 09 Jan 2023 10:25:43 GMT
          Last-Modified: Fri, 08 May 2020 07:05:03 GMT
          X-Content-Type-Options: nosniff
          Server: sffe
          X-XSS-Protection: 0
          Age: 57764
          Cache-Control: public, max-age=31536000, stale-while-revalidate=2592000
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          
          
          Response body (89476 bytes)
          /*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
          !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
          
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    4. https://cdnjs.cloudflare.com (2)

      1. Cross-Domain Misconfiguration (2)
        1. GET https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (377 bytes)
          GET https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js HTTP/1.1
          Host: cdnjs.cloudflare.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (1100 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Content-Type: application/javascript; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Cache-Control: public, max-age=30672000
          ETag: W/"61748e4e-10030"
          Last-Modified: Sat, 23 Oct 2021 22:35:58 GMT
          cf-cdnjs-via: cfworker/kv
          Cross-Origin-Resource-Policy: cross-origin
          Timing-Allow-Origin: *
          X-Content-Type-Options: nosniff
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          CF-Cache-Status: MISS
          Expires: Sat, 31 Dec 2022 02:28:27 GMT
          Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=vH4E0CvFVZV%2Bzhp5omGT1pRLAbIYpzelBSyWCKhYwVBXUsyLX60OiXZh2Reh%2BVVBRCh%2Be9AzaKrNbIzNSeBSrRae%2FddJ4hqlhT4rVoIB1Bx62%2FJZep4RzPDVSJJ6diY0yuUytLVm"}],"group":"cf-nel","max_age":604800}
          NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
          Strict-Transport-Security: max-age=15780000
          Server: cloudflare
          CF-RAY: 6cb278d5999c90df-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (192461 bytes)
          /*!
           * Chart.js v3.6.0
           * https://www.chartjs.org
           * (c) 2021 Chart.js Contributors
           * Released under the MIT License
           */
          !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";const t="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function e(e,i,s){const n=s||(t=>Array.prototype.slice.call(t));let o=!1,a=[];return function(...s){a=n(s),o||(o=!0,t.call(window,(()=>{o=!1,e.apply(i,a)})))}}function i(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const s=t=>"start"===t?"left":"end"===t?"right":"center",n=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,o=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;var a=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=t.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};
          /*!
           * @kurkle/color v0.1.9
           * https://github.com/kurkle/color#readme
           * (c) 2020 Jukka Kurkela
           * Released under the MIT License
           */const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l="0123456789ABCDEF",h=t=>l[15&t],c=t=>l[(240&t)>>4]+l[15&t],d=t=>(240&t)>>4==(15&t);function u(t){var e=function(t){return d(t.r)&&d(t.g)&&d(t.b)&&d(t.a)}(t)?h:c;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function f(t){return t+.5|0}const g=(t,e,i)=>Math.max(Math.min(t,i),e);function p(t){return g(f(2.55*t),0,255)}function m(t){return g(f(255*t),0,255)}function x(t){return g(f(t/2.55)/100,0,1)}function b(t){return g(f(100*t),0,100)}const _=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const y=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function v(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function w(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function M(t,e,i){const s=v(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function k(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=n===e?(i-s)/h+(i<s?6:0):n===i?(s-e)/h+2:(e-i)/h+4,r=60*r+.5),[0|r,l||0,a]}function S(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(m)}function P(t,e,i){return S(v,t,e,i)}function D(t){return(t%360+360)%360}function C(t){const e=y.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?p(+e[5]):m(+e[5]));const n=D(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return S(M,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return S(w,t,e,i)}(n,o,a):P(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const O={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},A={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let T;function L(t){T||(T=function(){const t={},e=Object.keys(A),i=Object.keys(O);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,O[o]);o=parseInt(A[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),T.transparent=[0,0,0,0]);const e=T[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function R(t,e,i){if(t){let s=k(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=P(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function E(t,e){return t?Object.assign(e||{},t):t}function I(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=m(t[3]))):(e=E(t,{r:0,g:0,b:0,a:1})).a=m(e.a),e}function z(t){return"r"===t.charAt(0)?function(t){const e=_.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=255&(e[8]?p(t):255*t)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?p(i):i),s=255&(e[4]?p(s):s),n=255&(e[6]?p(n):n),{r:i,g:s,b:n,a:o}}}(t):C(t)}class F{constructor(t){if(t instanceof F)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=I(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*r[s[1]],g:255&17*r[s[2]],b:255&17*r[s[3]],a:5===o?17*r[s[4]]:255}:7!==o&&9!==o||(n={r:r[s[1]]<<4|r[s[2]],g:r[s[3]]<<4|r[s[4]],b:r[s[5]]<<4|r[s[6]],a:9===o?r[s[7]]<<4|r[s[8]]:255})),i=n||L(t)||z(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=E(this._rgb);return t&&(t.a=x(t.a)),t}set rgb(t){this._rgb=I(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${x(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):this._rgb;var t}hexString(){return this._valid?u(this._rgb):this._rgb}hslString(){return this._valid?function(t){if(!t)return;const e=k(t),i=e[0],s=b(e[1]),n=b(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${x(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):this._rgb}mix(t,e){const i=this;if(t){const s=i.rgb,n=t.rgb;let o;const a=e===o?.5:e,r=2*a-1,l=s.a-n.a,h=((r*l==-1?r:(r+l)/(1+r*l))+1)/2;o=1-h,s.r=255&h*s.r+o*n.r+.5,s.g=255&h*s.g+o*n.g+.5,s.b=255&h*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,i.rgb=s}return i}clone(){return new F(this.rgb)}alpha(t){return this._rgb.a=m(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=f(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return R(this._rgb,2,t),this}darken(t){return R(this._rgb,2,-t),this}saturate(t){return R(this._rgb,1,t),this}desaturate(t){return R(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=k(t);i[0]=D(i[0]+e),i=P(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function B(t){return new F(t)}const V=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function W(t){return V(t)?t:B(t)}function N(t){return V(t)?t:B(t).saturate(.5).darken(.1).hexString()}function H(){}const j=function(){let t=0;return function(){return t++}}();function $(t){return null==t}function Y(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function U(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const X=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function q(t,e){return X(t)?t:e}function K(t,e){return void 0===t?e:t}const G=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,Z=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function Q(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function J(t,e,i,s){let n,o,a;if(Y(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(U(t))for(a=Object.keys(t),o=a.length,n=0;n<o;n++)e.call(i,t[a[n]],a[n])}function tt(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function et(t){if(Y(t))return t.map(et);if(U(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=et(t[i[n]]);return e}return t}function it(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function st(t,e,i,s){if(!it(t))return;const n=e[t],o=i[t];U(n)&&U(o)?nt(n,o,s):e[t]=et(o)}function nt(t,e,i){const s=Y(e)?e:[e],n=s.length;if(!U(t))return t;const o=(i=i||{}).merger||st;for(let a=0;a<n;++a){if(!U(e=s[a]))continue;const n=Object.keys(e);for(let s=0,a=n.length;s<a;++s)o(n[s],t,e,i)}return t}function ot(t,e){return nt(t,e,{merger:at})}function at(t,e,i){if(!it(t))return;const s=e[t],n=i[t];U(s)&&U(n)?ot(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=et(n))}function rt(t,e){const i=t.indexOf(".",e);return-1===i?t.length:i}function lt(t,e){if(""===e)return t;let i=0,s=rt(e,i);for(;t&&s>i;)t=t[e.substr(i,s-i)],i=s+1,s=rt(e,i);return t}function ht(t){return t.charAt(0).toUpperCase()+t.slice(1)}const ct=t=>void 0!==t,dt=t=>"function"==typeof t,ut=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0},ft=Object.create(null),gt=Object.create(null);function pt(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function mt(t,e,i){return"string"==typeof e?nt(pt(t,e),i):nt(pt(t,""),e)}var xt=new class{constructor(t){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>N(e.backgroundColor),this.hoverBorderColor=(t,e)=>N(e.borderColor),this.hoverColor=(t,e)=>N(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.describe(t)}set(t,e){return mt(this,t,e)}get(t){return pt(this,t)}describe(t,e){return mt(gt,t,e)}override(t,e){return mt(ft,t,e)}route(t,e,i,s){const n=pt(this,t),o=pt(this,i),a="_"+e;Object.defineProperties(n,{[a]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[s];return U(t)?Object.assign({},e,t):K(t,e)},set(t){this[a]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});const bt=Math.PI,_t=2*bt,yt=_t+bt,vt=Number.POSITIVE_INFINITY,wt=bt/180,Mt=bt/2,kt=bt/4,St=2*bt/3,Pt=Math.log10,Dt=Math.sign;function Ct(t){const e=Math.round(t);t=Tt(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(Pt(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function Ot(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function At(t){return!isNaN(parseFloat(t))&&isFinite(t)}function Tt(t,e,i){return Math.abs(t-e)<i}function Lt(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function Rt(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function Et(t){return t*(bt/180)}function It(t){return t*(180/bt)}function zt(t){if(!X(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ft(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*bt&&(o+=_t),{angle:o,distance:n}}function Bt(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Vt(t,e){return(t-e+yt)%_t-bt}function Wt(t){return(t%_t+_t)%_t}function Nt(t,e,i,s){const n=Wt(t),o=Wt(e),a=Wt(i),r=Wt(o-n),l=Wt(a-n),h=Wt(n-o),c=Wt(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Ht(t,e,i){return Math.max(e,Math.min(i,t))}function jt(t){return Ht(t,-32768,32767)}function $t(t){return!t||$(t.size)||$(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Yt(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Ut(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let a=0;const r=i.length;let l,h,c,d,u;for(l=0;l<r;l++)if(d=i[l],null!=d&&!0!==Y(d))a=Yt(t,n,o,a,d);else if(Y(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||Y(u)||(a=Yt(t,n,o,a,u));t.restore();const f=o.length/2;if(f>i.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return a}function Xt(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function qt(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function Kt(t,e,i,s){let n,o,a,r,l;const h=e.pointStyle,c=e.rotation,d=e.radius;let u=(c||0)*wt;if(h&&"object"==typeof h&&(n=h.toString(),"[object HTMLImageElement]"===n||"[object HTMLCanvasElement]"===n))return t.save(),t.translate(i,s),t.rotate(u),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(d)||d<=0)){switch(t.beginPath(),h){default:t.arc(i,s,d,0,_t),t.closePath();break;case"triangle":t.moveTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=St,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=St,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),t.closePath();break;case"rectRounded":l=.516*d,r=d-l,o=Math.cos(u+kt)*r,a=Math.sin(u+kt)*r,t.arc(i-o,s-a,l,u-bt,u-Mt),t.arc(i+a,s-o,l,u-Mt,u),t.arc(i+o,s+a,l,u,u+Mt),t.arc(i-a,s+o,l,u+Mt,u+bt),t.closePath();break;case"rect":if(!c){r=Math.SQRT1_2*d,t.rect(i-r,s-r,2*r,2*r);break}u+=kt;case"rectRot":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+a,s-o),t.lineTo(i+o,s+a),t.lineTo(i-a,s+o),t.closePath();break;case"crossRot":u+=kt;case"cross":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"star":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o),u+=kt,o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"line":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(u)*d,s+Math.sin(u)*d)}t.fill(),e.borderWidth>0&&t.stroke()}}function Gt(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Zt(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function Qt(t){t.restore()}function Jt(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function te(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function ee(t,e,i,s,n,o={}){const a=Y(e)?e:[e],r=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);$(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;l<a.length;++l)h=a[l],r&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),$(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),ie(t,i,s,h,o),s+=n.lineHeight;t.restore()}function ie(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function se(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,-Mt,bt,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,bt,Mt,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,Mt,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-Mt,!0),t.lineTo(i+a.topLeft,s)}function ne(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const oe=(t,e,i)=>ne(t,i,(s=>t[s][e]<i)),ae=(t,e,i)=>ne(t,i,(s=>t[s][e]>=i));function re(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const le=["push","pop","shift","splice","unshift"];function he(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),le.forEach((e=>{const i="_onData"+ht(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function ce(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(le.forEach((e=>{delete t[e]})),delete t._chartjs)}function de(t){const e=new Set;let i,s;for(i=0,s=t.length;i<s;++i)e.add(t[i]);return e.size===s?t:Array.from(e)}function ue(){return"undefined"!=typeof window&&"undefined"!=typeof document}function fe(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function ge(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const pe=t=>window.getComputedStyle(t,null);function me(t,e){return pe(t).getPropertyValue(e)}const xe=["top","right","bottom","left"];function be(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=xe[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function _e(t,e){const{canvas:i,currentDevicePixelRatio:s}=e,n=pe(i),o="border-box"===n.boxSizing,a=be(n,"padding"),r=be(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.native||t,s=i.touches,n=s&&s.length?s[0]:i,{offsetX:o,offsetY:a}=n;let r,l,h=!1;if(((t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot))(o,a,i.target))r=o,l=a;else{const t=e.getBoundingClientRect();r=n.clientX-t.left,l=n.clientY-t.top,h=!0}return{x:r,y:l,box:h}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const ye=t=>Math.round(10*t)/10;function ve(t,e,i,s){const n=pe(t),o=be(n,"margin"),a=ge(n.maxWidth,t,"clientWidth")||vt,r=ge(n.maxHeight,t,"clientHeight")||vt,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=fe(t);if(o){const t=o.getBoundingClientRect(),a=pe(o),r=be(a,"border","width"),l=be(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=ge(a.maxWidth,o,"clientWidth"),n=ge(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||vt,maxHeight:n||vt}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=be(n,"border","width"),e=be(n,"padding");h-=e.width+t.width,c-=e.height+t.height}return h=Math.max(0,h-o.width),c=Math.max(0,s?Math.floor(h/s):c-o.height),h=ye(Math.min(h,a,l.maxWidth)),c=ye(Math.min(c,r,l.maxHeight)),h&&!c&&(c=ye(h/2)),{width:h,height:c}}function we(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=n/s,t.width=o/s;const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Me=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function ke(t,e){const i=me(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Se(t,e){return"native"in t?{x:t.x,y:t.y}:_e(t,e)}function Pe(t,e,i,s){const{controller:n,data:o,_sorted:a}=t,r=n._cachedMeta.iScale;if(r&&e===r.axis&&a&&o.length){const t=r._reversePixels?ae:oe;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),a=t(o,e,i+n);return{lo:s.lo,hi:a.hi}}}}return{lo:0,hi:o.length-1}}function De(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=Pe(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Ce(t,e,i,s){const n=[];if(!Gt(e,t.chartArea,t._minPadding))return n;return De(t,i,e,(function(t,i,o){t.inRange(e.x,e.y,s)&&n.push({element:t,datasetIndex:i,index:o})}),!0),n}function Oe(t,e,i,s,n){const o=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let a=Number.POSITIVE_INFINITY,r=[];if(!Gt(e,t.chartArea,t._minPadding))return r;return De(t,i,e,(function(i,l,h){if(s&&!i.inRange(e.x,e.y,n))return;const c=i.getCenterPoint(n);if(!Gt(c,t.chartArea,t._minPadding)&&!i.inRange(e.x,e.y,n))return;const d=o(e,c);d<a?(r=[{element:i,datasetIndex:l,index:h}],a=d):d===a&&r.push({element:i,datasetIndex:l,index:h})})),r}function Ae(t,e,i,s){const n=Se(e,t),o=[],a=i.axis,r="x"===a?"inXRange":"inYRange";let l=!1;return function(t,e){const i=t.getSortedVisibleDatasetMetas();let s,n,o;for(let t=0,a=i.length;t<a;++t){({index:s,data:n}=i[t]);for(let t=0,i=n.length;t<i;++t)o=n[t],o.skip||e(o,s,t)}}(t,((t,e,i)=>{t[r](n[a],s)&&o.push({element:t,datasetIndex:e,index:i}),t.inRange(n.x,n.y,s)&&(l=!0)})),i.intersect&&!l?[]:o}var Te={modes:{index(t,e,i,s){const n=Se(e,t),o=i.axis||"x",a=i.intersect?Ce(t,n,o,s):Oe(t,n,o,!1,s),r=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=a[0].index,i=t.data[e];i&&!i.skip&&r.push({element:i,datasetIndex:t.index,index:e})})),r):[]},dataset(t,e,i,s){const n=Se(e,t),o=i.axis||"xy";let a=i.intersect?Ce(t,n,o,s):Oe(t,n,o,!1,s);if(a.length>0){const e=a[0].datasetIndex,i=t.getDatasetMeta(e).data;a=[];for(let t=0;t<i.length;++t)a.push({element:i[t],datasetIndex:e,index:t})}return a},point:(t,e,i,s)=>Ce(t,Se(e,t),i.axis||"xy",s),nearest:(t,e,i,s)=>Oe(t,Se(e,t),i.axis||"xy",i.intersect,s),x:(t,e,i,s)=>(i.axis="x",Ae(t,e,i,s)),y:(t,e,i,s)=>(i.axis="y",Ae(t,e,i,s))}};const Le=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),Re=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function Ee(t,e){const i=(""+t).match(Le);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}function Ie(t,e){const i={},s=U(e),n=s?Object.keys(e):e,o=U(t)?s?i=>K(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=+o(t)||0;return i}function ze(t){return Ie(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Fe(t){return Ie(t,["topLeft","topRight","bottomLeft","bottomRight"])}function Be(t){const e=ze(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Ve(t,e){t=t||{},e=e||xt.font;let i=K(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=K(t.style,e.style);s&&!(""+s).match(Re)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:K(t.family,e.family),lineHeight:Ee(K(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:K(t.weight,e.weight),string:""};return n.string=$t(n),n}function We(t,e,i,s){let n,o,a,r=!0;for(n=0,o=t.length;n<o;++n)if(a=t[n],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==i&&Y(a)&&(a=a[i%a.length],r=!1),void 0!==a))return s&&!r&&(s.cacheable=!1),a}function Ne(t,e,i){const{min:s,max:n}=t,o=Z(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function He(t,e){return Object.assign(Object.create(t),e)}const je=["left","top","right","bottom"];function $e(t,e){return t.filter((t=>t.pos===e))}function Ye(t,e){return t.filter((t=>-1===je.indexOf(t.pos)&&t.box.axis===e))}function Ue(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Xe(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!je.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function qe(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function Ke(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Ge(t,e,i,s){const{pos:n,box:o}=i,a=t.maxPadding;if(!U(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&Ke(a,o.getPadding());const r=Math.max(0,e.outerWidth-qe(a,t,"left","right")),l=Math.max(0,e.outerHeight-qe(a,t,"top","bottom")),h=r!==t.w,c=l!==t.h;return t.w=r,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function Ze(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function Qe(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,Ze(r.horizontal,e));const{same:a,other:d}=Ge(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&Qe(n,e,i,s)||c}function Je(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function ti(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;ct(l.start)&&(a=l.start),t.fullSize?Je(t,n.left,a,i.outerWidth-n.right-n.left,o):Je(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;ct(l.start)&&(o=l.start),t.fullSize?Je(t,o,n.top,a,i.outerHeight-n.bottom-n.top):Je(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}xt.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var ei={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=Be(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Ue(e.filter((t=>t.box.fullSize)),!0),s=Ue($e(e,"left"),!0),n=Ue($e(e,"right")),o=Ue($e(e,"top"),!0),a=Ue($e(e,"bottom")),r=Ye(e,"x"),l=Ye(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:$e(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;J(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),u=Object.assign({},n);Ke(u,Be(s));const f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Xe(l.concat(h),d);Qe(r.fullSize,f,d,g),Qe(l,f,d,g),Qe(h,f,d,g)&&Qe(l,f,d,g),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),ti(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,ti(r.rightAndBottom,f,d,g),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},J(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h)}))}};function ii(t,e=[""],i=t,s,n=(()=>t[0])){ct(s)||(s=fi("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:i,_fallback:s,_getTarget:n,override:n=>ii([n,...t],e,i,s)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>ri(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=fi(oi(o,t),i),ct(n))return ai(t,n)?di(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>gi(t).includes(e),ownKeys:t=>gi(t),set:(t,e,i)=>((t._storage||(t._storage=n()))[e]=i,delete t[e],delete t._keys,!0)})}function si(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:ni(t,s),setContext:e=>si(t,e,i,s),override:n=>si(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>ri(t,e,(()=>function(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=t;let r=s[e];dt(r)&&a.isScriptable(e)&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t),e=e(o,a||s),r.delete(t),U(e)&&(e=di(n._scopes,n,t,e));return e}(e,r,t,i));Y(r)&&r.length&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=i;if(ct(o.index)&&s(t))e=e[o.index%e.length];else if(U(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=di(s,n,t,l);e.push(si(i,o,a&&a[t],r))}}return e}(e,r,t,a.isIndexable));ai(e,r)&&(r=si(r,n,o&&o[e],a));return r}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function ni(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:dt(i)?i:()=>i,isIndexable:dt(s)?s:()=>s}}const oi=(t,e)=>t?t+ht(e):e,ai=(t,e)=>U(e)&&"adapters"!==t;function ri(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function li(t,e,i){return dt(t)?t(e,i):t}const hi=(t,e)=>!0===t?e:"string"==typeof t?lt(e,t):void 0;function ci(t,e,i,s){for(const n of e){const e=hi(i,n);if(e){t.add(e);const n=li(e._fallback,i,e);if(ct(n)&&n!==i&&n!==s)return n}else if(!1===e&&ct(s)&&i!==s)return null}return!1}function di(t,e,i,s){const n=e._rootScopes,o=li(e._fallback,i,s),a=[...t,...n],r=new Set;r.add(s);let l=ui(r,a,i,o||i);return null!==l&&((!ct(o)||o===i||(l=ui(r,a,o,l),null!==l))&&ii(Array.from(r),[""],n,o,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];if(Y(n)&&U(i))return i;return n}(e,i,s))))}function ui(t,e,i,s){for(;i;)i=ci(t,e,i,s);return i}function fi(t,e){for(const i of e){if(!i)continue;const e=i[t];if(ct(e))return e}}function gi(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}const pi=Number.EPSILON||1e-14,mi=(t,e)=>e<t.length&&!t[e].skip&&t[e],xi=t=>"x"===t?"y":"x";function bi(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=Bt(o,n),l=Bt(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function _i(t,e="x"){const i=xi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=mi(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=mi(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?Dt(n[a-1])!==Dt(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=mi(t,0);for(let c=0;c<s-1;++c)l=h,h=mi(t,c+1),l&&h&&(Tt(e[c],0,pi)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=xi(i),n=t.length;let o,a,r,l=mi(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=mi(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function yi(t,e,i){return Math.max(Math.min(t,i),e)}function vi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)_i(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=bi(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Gt(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Gt(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=yi(n.cp1x,e.left,e.right),n.cp1y=yi(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=yi(n.cp2x,e.left,e.right),n.cp2y=yi(n.cp2y,e.top,e.bottom)))}(t,i)}const wi=t=>0===t||1===t,Mi=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*_t/i),ki=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*_t/i)+1,Si={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*Mt),easeOutSine:t=>Math.sin(t*Mt),easeInOutSine:t=>-.5*(Math.cos(bt*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>wi(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>wi(t)?t:Mi(t,.075,.3),easeOutElastic:t=>wi(t)?t:ki(t,.075,.3),easeInOutElastic(t){const e=.1125;return wi(t)?t:t<.5?.5*Mi(2*t,e,.45):.5+.5*ki(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-Si.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*Si.easeInBounce(2*t):.5*Si.easeOutBounce(2*t-1)+.5};function Pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function Di(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function Ci(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=Pi(t,n,i),r=Pi(n,o,i),l=Pi(o,e,i),h=Pi(a,r,i),c=Pi(r,l,i);return Pi(h,c,i)}const Oi=new Map;function Ai(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=Oi.get(i);return s||(s=new Intl.NumberFormat(t,e),Oi.set(i,s)),s}(e,i).format(t)}function Ti(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Li(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ri(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Ei(t){return"angle"===t?{between:Nt,compare:Vt,normalize:Wt}:{between:(t,e,i)=>t>=Math.min(e,i)&&t<=Math.max(i,e),compare:(t,e)=>t-e,normalize:t=>t}}function Ii({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function zi(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Ei(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Ei(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ii({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ii({start:_,end:d,loop:u,count:a,style:f})),g}function Fi(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=zi(s[n],t.points,e);o.length&&i.push(...o)}return i}function Bi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Vi(t,[{start:a,end:r,loop:o}],i,e);return Vi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Vi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Wi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Wi(s.setContext(He(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Ni(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Wi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Ni(t,e){return e&&JSON.stringify(t)!==JSON.stringify(e)}var Hi=Object.freeze({__proto__:null,easingEffects:Si,color:W,getHoverColor:N,noop:H,uid:j,isNullOrUndef:$,isArray:Y,isObject:U,isFinite:X,finiteOrDefault:q,valueOrDefault:K,toPercentage:G,toDimension:Z,callback:Q,each:J,_elementsEqual:tt,clone:et,_merger:st,merge:nt,mergeIf:ot,_mergerIf:at,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},resolveObjectKey:lt,_capitalize:ht,defined:ct,isFunction:dt,setsEqual:ut,toFontString:$t,_measureText:Yt,_longestText:Ut,_alignPixel:Xt,clearCanvas:qt,drawPoint:Kt,_isPointInArea:Gt,clipArea:Zt,unclipArea:Qt,_steppedLineTo:Jt,_bezierCurveTo:te,renderText:ee,addRoundedRectPath:se,_lookup:ne,_lookupByKey:oe,_rlookupByKey:ae,_filterBetween:re,listenArrayEvents:he,unlistenArrayEvents:ce,_arrayUnique:de,_createResolver:ii,_attachContext:si,_descriptors:ni,splineCurve:bi,splineCurveMonotone:_i,_updateBezierControlPoints:vi,_isDomSupported:ue,_getParentNode:fe,getStyle:me,getRelativePosition:_e,getMaximumSize:ve,retinaScale:we,supportsEventListenerOptions:Me,readUsedSize:ke,fontString:function(t,e,i){return e+" "+t+"px "+i},requestAnimFrame:t,throttled:e,debounce:i,_toLeftRightCenter:s,_alignStartEnd:n,_textX:o,_pointInLine:Pi,_steppedInterpolation:Di,_bezierInterpolation:Ci,formatNumber:Ai,toLineHeight:Ee,_readValueToProps:Ie,toTRBL:ze,toTRBLCorners:Fe,toPadding:Be,toFont:Ve,resolve:We,_addGrace:Ne,createContext:He,PI:bt,TAU:_t,PITAU:yt,INFINITY:vt,RAD_PER_DEG:wt,HALF_PI:Mt,QUARTER_PI:kt,TWO_THIRDS_PI:St,log10:Pt,sign:Dt,niceNum:Ct,_factorize:Ot,isNumber:At,almostEquals:Tt,almostWhole:Lt,_setMinAndMaxByKey:Rt,toRadians:Et,toDegrees:It,_decimalPlaces:zt,getAngleFromPoint:Ft,distanceBetweenPoints:Bt,_angleDiff:Vt,_normalizeAngle:Wt,_angleBetween:Nt,_limitValue:Ht,_int16Range:jt,getRtlAdapter:Ti,overrideTextDirection:Li,restoreTextDirection:Ri,_boundSegment:zi,_boundSegments:Fi,_computeSegments:Bi});class ji{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class $i extends ji{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Yi={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ui=t=>null===t||""===t;const Xi=!!Me&&{passive:!0};function qi(t,e,i){t.canvas.removeEventListener(e,i,Xi)}function Ki(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{for(const e of t)for(const t of e.addedNodes)if(t===s||t.contains(s))return i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function Gi(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{for(const e of t)for(const t of e.removedNodes)if(t===s||t.contains(s))return i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const Zi=new Map;let Qi=0;function Ji(){const t=window.devicePixelRatio;t!==Qi&&(Qi=t,Zi.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ts(t,i,s){const n=t.canvas,o=n&&fe(n);if(!o)return;const a=e(((t,e)=>{const i=o.clientWidth;s(t,e),i<o.clientWidth&&s()}),window),r=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||a(i,s)}));return r.observe(o),function(t,e){Zi.size||window.addEventListener("resize",Ji),Zi.set(t,e)}(t,a),r}function es(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){Zi.delete(t),Zi.size||window.removeEventListener("resize",Ji)}(t)}function is(t,i,s){const n=t.canvas,o=e((e=>{null!==t.ctx&&s(function(t,e){const i=Yi[t.type]||t.type,{x:s,y:n}=_e(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,i){t.addEventListener(e,i,Xi)}(n,i,o),o}class ss extends ji{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",Ui(n)){const e=ke(t,"width");void 0!==e&&(t.width=e)}if(Ui(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=ke(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const i=e.$chartjs.initial;["height","width"].forEach((t=>{const s=i[t];$(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:Ki,detach:Gi,resize:ts}[e]||is;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:es,detach:es,resize:es}[e]||qi)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ve(t,e,i,s)}isAttached(t){const e=fe(t);return!(!e||!e.isConnected)}}function ns(t){return!ue()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?$i:ss}var os=Object.freeze({__proto__:null,_detectPlatform:ns,BasePlatform:ji,BasicPlatform:$i,DomPlatform:ss});const as="transparent",rs={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=W(t||as),n=s.valid&&W(e||as);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class ls{constructor(t,e,i,s){const n=e[i];s=We([t.to,s,n,t.from]);const o=We([t.from,n,s]);this._active=!0,this._fn=t.fn||rs[t.type||typeof o],this._easing=Si[t.easing]||Si.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=We([t.to,e,s,t.from]),this._from=We([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}xt.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const hs=Object.keys(xt.animation);xt.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),xt.describe("animations",{_fallback:"animation"}),xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class cs{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!U(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((i=>{const s=t[i];if(!U(s))return;const n={};for(const t of hs)n[t]=s[t];(Y(s.properties)&&s.properties||[i]).forEach((t=>{t!==i&&e.has(t)||e.set(t,n)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new ls(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(a.add(this._chart,i),!0):void 0}}function ds(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function us(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function fs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let a,r,l,h;if(null!==e){for(a=0,r=n.length;a<r;++a){if(l=+n[a],l===i){if(s.all)continue;break}h=t.values[l],X(h)&&(o||0===e||Dt(e)===Dt(h))&&(e+=h)}return e}}function gs(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function ps(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function ms(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function xs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=ps(n,c,o),u[r]=d,u._top=ms(u,a,!0,s.type),u._bottom=ms(u,a,!1,s.type)}}function bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function _s(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i]}}}const ys=t=>"reset"===t||"none"===t,vs=(t,e)=>e?t:Object.assign({},t);class ws{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=gs(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&_s(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=K(i.xAxisID,bs(t,"x")),o=e.yAxisID=K(i.yAxisID,bs(t,"y")),a=e.rAxisID=K(i.rAxisID,bs(t,"r")),r=e.indexAxis,l=e.iAxisID=s(r,n,o,a),h=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&ce(this._data,this),t._stacked&&_s(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(U(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s],i[s]={x:o,y:t[o]};return i}(e);else if(i!==e){if(i){ce(i,this);const t=this._cachedMeta;_s(t),t._parsed=[]}e&&Object.isExtensible(e)&&he(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=gs(e.vScale,e),e.stack!==i.stack&&(s=!0,_s(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&xs(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,a=n.axis;let r,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=Y(s[t])?this.parseArrayData(i,s,t,e):U(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[a]||d&&l[a]<d[a];for(r=0;r<e;++r)i._parsed[r+t]=l=h[r],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&xs(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(lt(u,a),d),y:o.parse(lt(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return fs({keys:us(s,!0),values:e._stacks[t.axis]},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=fs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,a=this._getOtherScale(t),r=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:us(i,!0),values:null})(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(a);let d,u;function f(){u=s[d];const e=u[a.axis];return!X(u[t.axis])||h>e||c<e}for(d=0;d<o&&(f()||(this.updateRangeFromParsed(l,t,u,r),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!f()){this.updateRangeFromParsed(l,t,u,r);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],X(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.configure(),this._cachedDataOpts={},this.update(t||"default"),e._clip=function(t){let e,i,s,n;return U(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(K(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=ds(t,i),n=ds(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a;let l;for(i.dataset&&i.dataset.draw(t,n,a,r),l=a;l<a+r;++l){const e=s[l];e.hidden||(e.active?o.push(e):e.draw(t,n))}for(l=0;l<o.length;++l)o[l].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return He(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return He(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&ct(i);if(a)return vs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(xt.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(vs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new cs(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||ys(t)||this.chart._animationsDisabled}updateElement(t,e,i,s){ys(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!ys(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&_s(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){this._sync(["_removeElements",t,e]),this._sync(["_insertElements",t,arguments.length-2])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}ws.defaults={},ws.prototype.datasetElementType=null,ws.prototype.dataElementType=null;class Ms{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return At(this.x)&&At(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}Ms.defaults={},Ms.defaultRoutes=void 0;const ks={values:t=>Y(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=Pt(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Ai(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=t/Math.pow(10,Math.floor(Pt(t)));return 1===s||2===s||5===s?ks.numeric.call(this,t,e,i):""}};var Ss={formatters:ks};function Ps(t,e){const i=t.options.ticks,s=i.maxTicksLimit||function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),n=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],o=n.length,a=n[0],r=n[o-1],l=[];if(o>s)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,l,n,o/s),l;const h=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=Ot(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(n,e,s);if(o>0){let t,i;const s=o>1?Math.round((r-a)/(o-1)):null;for(Ds(e,l,h,$(s)?0:a-s,a),t=0,i=o-1;t<i;t++)Ds(e,l,h,n[t],n[t+1]);return Ds(e,l,h,r,$(s)?e.length:r+s),l}return Ds(e,l,h),l}function Ds(t,e,i,s,n){const o=K(s,0),a=Math.min(K(n,t.length),t.length);let r,l,h,c=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<a;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}xt.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ss.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),xt.route("scale.ticks","color","","color"),xt.route("scale.grid","color","","borderColor"),xt.route("scale.grid","borderColor","","borderColor"),xt.route("scale.title","color","","color"),xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),xt.describe("scales",{_fallback:"scale"}),xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Cs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i;function Os(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function As(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Ts(t){return t.drawTicks?t.tickLength:0}function Ls(t,e){if(!t.display)return 0;const i=Ve(t.font,e),s=Be(t.padding);return(Y(t.text)?t.text.length:1)*i.lineHeight+s.height}function Rs(t,e,i){let n=s(t);return(i&&"right"!==e||!i&&"right"===e)&&(n=(t=>"left"===t?"right":"right"===t?"left":t)(n)),n}class Es extends Ms{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=q(t,Number.POSITIVE_INFINITY),e=q(e,Number.NEGATIVE_INFINITY),i=q(i,Number.POSITIVE_INFINITY),s=q(s,Number.NEGATIVE_INFINITY),{min:q(t,i),max:q(e,s),minDefined:X(t),maxDefined:X(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:q(i,q(s,i)),max:q(s,q(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Q(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Ne(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Os(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ps(this,this.ticks),this._labelSizes=null),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Q(this.options.afterUpdate,[this])}beforeSetDimensions(){Q(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Q(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Q(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Q(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=Q(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){Q(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Q(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=this.ticks.length,s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Ht(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ts(t.grid)-e.padding-Ls(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=It(Math.min(Math.asin(Ht((h.highest.height+6)/o,-1,1)),Math.asin(Ht(a/r,-1,1))-Math.asin(Ht(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){Q(this.options.afterCalculateLabelRotation,[this])}beforeFit(){Q(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Ls(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ts(n)+o):(t.height=this.maxHeight,t.width=Ts(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=Et(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Q(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)$(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Os(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length)}return t}_computeLabelSizes(t,e){const{ctx:i,_longestTextCache:s}=this,n=[],o=[];let a,r,l,h,c,d,u,f,g,p,m,x=0,b=0;for(a=0;a<e;++a){if(h=t[a].label,c=this._resolveTickFontOptions(a),i.font=d=c.string,u=s[d]=s[d]||{data:{},gc:[]},f=c.lineHeight,g=p=0,$(h)||Y(h)){if(Y(h))for(r=0,l=h.length;r<l;++r)m=h[r],$(m)||Y(m)||(g=Yt(i,u.data,u.gc,g,m),p+=f)}else g=Yt(i,u.data,u.gc,g,h),p=f;n.push(g),o.push(p),x=Math.max(g,x),b=Math.max(p,b)}!function(t,e){J(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(s,e);const _=n.indexOf(x),y=o.indexOf(b),v=t=>({width:n[t]||0,height:o[t]||0});return{first:v(0),last:v(e-1),widest:v(_),highest:v(y),widths:n,heights:o}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jt(this._alignToPixels?Xt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return He(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=He(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=Et(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o}=s,a=n.offset,r=this.isHorizontal(),l=this.ticks.length+(a?1:0),h=Ts(n),c=[],d=n.setContext(this.getContext()),u=d.drawBorder?d.borderWidth:0,f=u/2,g=function(t){return Xt(i,t,u)};let p,m,x,b,_,y,v,w,M,k,S,P;if("top"===o)p=g(this.bottom),y=this.bottom-h,w=p-f,k=g(t.top)+f,P=t.bottom;else if("bottom"===o)p=g(this.top),k=t.top,P=g(t.bottom)-f,y=p+f,w=this.top+h;else if("left"===o)p=g(this.right),_=this.right-h,v=p-f,M=g(t.left)+f,S=t.right;else if("right"===o)p=g(this.left),M=t.left,S=g(t.right)-f,_=p+f,v=this.left+h;else if("x"===e){if("center"===o)p=g((t.top+t.bottom)/2+.5);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}k=t.top,P=t.bottom,y=p+f,w=y+h}else if("y"===e){if("center"===o)p=g((t.left+t.right)/2);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}_=p-f,v=_-h,M=t.left,S=t.right}const D=K(s.ticks.maxTicksLimit,l),C=Math.max(1,Math.ceil(l/D));for(m=0;m<l;m+=C){const t=n.setContext(this.getContext(m)),e=t.lineWidth,s=t.color,o=n.borderDash||[],l=t.borderDashOffset,h=t.tickWidth,d=t.tickColor,u=t.tickBorderDash||[],f=t.tickBorderDashOffset;x=As(this,m,a),void 0!==x&&(b=Xt(i,x,e),r?_=v=M=S=b:y=w=k=P=b,c.push({tx1:_,ty1:y,tx2:v,ty2:w,x1:M,y1:k,x2:S,y2:P,width:e,color:s,borderDash:o,borderDashOffset:l,tickWidth:h,tickColor:d,tickBorderDash:u,tickBorderDashOffset:f}))}return this._ticksLength=l,this._borderValue=p,c}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),a=this.ticks,{align:r,crossAlign:l,padding:h,mirror:c}=n,d=Ts(i.grid),u=d+h,f=c?-h:u,g=-Et(this.labelRotation),p=[];let m,x,b,_,y,v,w,M,k,S,P,D,C="middle";if("top"===s)v=this.bottom-f,w=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+f,w=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}w=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}w=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===r?C="top":"end"===r&&(C="bottom"));const O=this._getLabelSizes();for(m=0,x=a.length;m<x;++m){b=a[m],_=b.label;const t=n.setContext(this.getContext(m));M=this.getPixelForTick(m)+n.labelOffset,k=this._resolveTickFontOptions(m),S=k.lineHeight,P=Y(_)?_.length:1;const e=P/2,i=t.color,r=t.textStrokeColor,h=t.textStrokeWidth;let d;if(o?(y=M,D="top"===s?"near"===l||0!==g?-P*S+S/2:"center"===l?-O.highest.height/2-e*S+S:-O.highest.height+S/2:"near"===l||0!==g?S/2:"center"===l?O.highest.height/2-e*S:O.highest.height-P*S,c&&(D*=-1)):(v=M,D=(1-P)*S/2),t.showLabelBackdrop){const e=Be(t.backdropPadding),i=O.heights[m],s=O.widths[m];let n=v+D-e.top,o=y-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(w){case"center":o-=s/2;break;case"right":o-=s}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}p.push({rotation:g,label:_,font:k,color:i,strokeColor:r,strokeWidth:h,textOffset:D,textAlign:w,textBaseline:C,translation:[y,v],backdrop:d})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-Et(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align&&(i="right"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{grid:i}}=this,s=i.setContext(this.getContext()),n=i.drawBorder?s.borderWidth:0;if(!n)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let r,l,h,c;this.isHorizontal()?(r=Xt(t,this.left,n)-n/2,l=Xt(t,this.right,o)+o/2,h=c=a):(h=Xt(t,this.top,n)-n/2,c=Xt(t,this.bottom,o)+o/2,r=l=a),e.save(),e.lineWidth=s.borderWidth,e.strokeStyle=s.borderColor,e.beginPath(),e.moveTo(r,h),e.lineTo(l,c),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Zt(e,i);const s=this._labelItems||(this._labelItems=this._computeLabelItems(t));let n,o;for(n=0,o=s.length;n<o;++n){const t=s[n],i=t.font,o=t.label;t.backdrop&&(e.fillStyle=t.backdrop.color,e.fillRect(t.backdrop.left,t.backdrop.top,t.backdrop.width,t.backdrop.height)),ee(e,o,0,t.textOffset,i,t)}i&&Qt(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const o=Ve(i.font),a=Be(i.padding),r=i.align;let l=o.lineHeight/2;"bottom"===e||"center"===e||U(e)?(l+=a.bottom,Y(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=a.top;const{titleX:h,titleY:c,maxWidth:d,rotation:u}=function(t,e,i,s){const{top:o,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-o,x=l-a;if(t.isHorizontal()){if(f=n(s,a,l),U(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Cs(t,i,e);u=l-a}else{if(U(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Cs(t,i,e);g=n(s,r,o),p="left"===i?-Mt:Mt}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,l,e,r);ee(t,i.text,0,0,o,{color:i.color,maxWidth:d,rotation:u,textAlign:Rs(r,e,s),textBaseline:"middle",translation:[h,c]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=K(t.grid&&t.grid.z,-1);return this._isVisible()&&this.draw===Es.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Ve(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Is{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=nt(Object.create(null),[i?xt.get(i):{},xt.get(e),t.defaults]);xt.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");xt.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&xt.describe(e,t.descriptors)}(t,o,i),this.override&&xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in xt[s]&&(delete xt[s][i],this.override&&delete ft[i])}}var zs=new class{constructor(){this.controllers=new Is(ws,"datasets",!0),this.elements=new Is(Ms,"elements"),this.plugins=new Is(Object,"plugins"),this.scales=new Is(Es,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):J(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=ht(t);Q(i["before"+s],[],i),e[t](i),Q(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}};class Fs{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"destroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===Q(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){$(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=K(i.options&&i.options.plugins,{}),n=function(t){const e=[],i=Object.keys(zs.plugins.items);for(let t=0;t<i.length;t++)e.push(zs.getPlugin(i[t]));const s=t.plugins||[];for(let t=0;t<s.length;t++){const i=s[t];-1===e.indexOf(i)&&e.push(i)}return e}(i);return!1!==s||e?function(t,e,i,s){const n=[],o=t.getContext();for(let a=0;a<e.length;a++){const r=e[a],l=Bs(i[r.id],s);null!==l&&n.push({plugin:r,options:Vs(t.config,r,l,o)})}return n}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function Bs(t,e){return e||!1!==t?!0===t?{}:t:null}function Vs(t,e,i,s){const n=t.pluginScopeKeys(e),o=t.getOptionScopes(i,n);return t.createResolver(o,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ws(t,e){const i=xt.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Ns(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(i=e.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.charAt(0).toLowerCase();var i}function Hs(t){const e=t.options||(t.options={});e.plugins=K(e.plugins,{}),e.scales=function(t,e){const i=ft[t.type]||{scales:{}},s=e.scales||{},n=Ws(t.type,e),o=Object.create(null),a=Object.create(null);return Object.keys(s).forEach((t=>{const e=s[t];if(!U(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const r=Ns(t,e),l=function(t,e){return t===e?"_index_":"_value_"}(r,n),h=i.scales||{};o[r]=o[r]||t,a[t]=ot(Object.create(null),[{axis:r},e,h[r],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,r=i.indexAxis||Ws(n,e),l=(ft[n]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,r),n=i[e+"AxisID"]||o[e]||e;a[n]=a[n]||Object.create(null),ot(a[n],[{axis:e},s[n],l[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];ot(e,[xt.scales[e.type],xt.scale])})),a}(t,e)}function js(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const $s=new Map,Ys=new Set;function Us(t,e){let i=$s.get(t);return i||(i=e(),$s.set(t,i),Ys.add(i)),i}const Xs=(t,e,i)=>{const s=lt(e,i);void 0!==s&&t.add(s)};class qs{constructor(t){this._config=function(t){return(t=t||{}).data=js(t.data),Hs(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=js(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Hs(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Us(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Us(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Us(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return Us(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>Xs(r,t,e)))),e.forEach((t=>Xs(r,s,t))),e.forEach((t=>Xs(r,ft[n]||{},t))),e.forEach((t=>Xs(r,xt,t))),e.forEach((t=>Xs(r,gt,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),Ys.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,ft[e]||{},xt.datasets[e]||{},{type:e},xt,gt]}resolveNamedOptions(t,e,i,s=[""]){const n={$shared:!0},{resolver:o,subPrefixes:a}=Ks(this._resolverCache,t,s);let r=o;if(function(t,e){const{isScriptable:i,isIndexable:s}=ni(t);for(const n of e){const e=i(n),o=s(n),a=(o||e)&&t[n];if(e&&(dt(a)||Gs(a))||o&&Y(a))return!0}return!1}(o,e)){n.$shared=!1;r=si(o,i=dt(i)?i():i,this.createResolver(t,i,a))}for(const t of e)n[t]=r[t];return n}createResolver(t,e,i=[""],s){const{resolver:n}=Ks(this._resolverCache,t,i);return U(e)?si(n,e,void 0,s):n}}function Ks(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:ii(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const Gs=t=>U(t)&&Object.getOwnPropertyNames(t).reduce(((e,i)=>e||dt(t[i])),!1);const Zs=["top","bottom","left","right","chartArea"];function Qs(t,e){return"top"===t||"bottom"===t||-1===Zs.indexOf(t)&&"x"===e}function Js(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function tn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),Q(i&&i.onComplete,[t],e)}function en(t){const e=t.chart,i=e.options.animation;Q(i&&i.onProgress,[t],e)}function sn(t){return ue()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const nn={},on=t=>{const e=sn(t);return Object.values(nn).filter((t=>t.canvas===e)).pop()};class an{constructor(t,e){const s=this.config=new qs(e),n=sn(t),o=on(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ns(n)),this.platform.updateConfig(s);const l=this.platform.acquireContext(n,r.aspectRatio),h=l&&l.canvas,c=h&&h.height,d=h&&h.width;this.id=j(),this.ctx=l,this.canvas=h,this.width=d,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Fs,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=i((t=>this.update(t)),r.resizeDelay||0),nn[this.id]=this,l&&h?(a.listen(this,"complete",tn),a.listen(this,"progress",en),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return $(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():we(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return qt(this.canvas,this.ctx),this}stop(){return a.stop(this),this}resize(t,e){a.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,we(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),Q(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){J(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Ns(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),J(n,(e=>{const n=e.options,o=n.id,a=Ns(o,n),r=K(n.type,e.dtype);void 0!==n.position&&Qs(n.position,a)===Qs(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===r)l=i[o];else{l=new(zs.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),J(s,((t,e)=>{t||delete i[e]})),J(i,(t=>{ei.configure(this,t,t.options),ei.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(Js("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||Ws(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=zs.getController(o),{datasetElementType:s,dataElementType:a}=xt.datasets[o];Object.assign(e.prototype,{dataElementType:zs.getElement(a),datasetElementType:s&&zs.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){J(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext());J(this.scales,(t=>{ei.removeBox(this,t)}));const s=this._animationsDisabled=!i.animation;this.ensureScalesHaveIDs(),this.buildOrUpdateScales();const n=new Set(Object.keys(this._listeners)),o=new Set(i.events);if(ut(n,o)&&!!this._responsiveListeners===i.responsive||(this.unbindEvents(),this.bindEvents()),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const a=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===a.indexOf(e);e.buildOrUpdateElements(i),r=Math.max(+e.getMaxOverflow(),r)}r=this._minPadding=i.layout.autoPadding?r:0,this._updateLayout(r),s||J(a,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Js("z","_idx")),this._lastEvent&&this._eventHandler(this._lastEvent,!0),this.render()}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ei.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],J(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,dt(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(a.has(this)?this.attached&&!a.running(this)&&a.start(this):(this.draw(),tn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resize(t,e),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Zt(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&Qt(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(t,e,i,s){const n=Te.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=He(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);ct(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),a.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),qt(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete nn[this.id]}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};J(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){J(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},J(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!tt(i,e)&&(this._active=i,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e){const{_active:i=[],options:s}=this,n=s.hover,o=e;let a=[],r=!1,l=null;return"mouseout"!==t.type&&(a=this.getElementsAtEventForMode(t,n.mode,n,o),l="click"===t.type?this._lastEvent:t),this._lastEvent=null,Gt(t,this.chartArea,this._minPadding)&&(Q(s.onHover,[t,a,this],this),"mouseup"!==t.type&&"click"!==t.type&&"contextmenu"!==t.type||Q(s.onClick,[t,a,this],this)),r=!tt(a,i),(r||e)&&(this._active=a,this._updateHoverStyles(a,i,e)),this._lastEvent=l,r}}const rn=()=>J(an.instances,(t=>t._plugins.invalidate())),ln=!0;function hn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}Object.defineProperties(an,{defaults:{enumerable:ln,value:xt},instances:{enumerable:ln,value:nn},overrides:{enumerable:ln,value:ft},registry:{enumerable:ln,value:zs},version:{enumerable:ln,value:"3.6.0"},getChart:{enumerable:ln,value:on},register:{enumerable:ln,value:(...t)=>{zs.add(...t),rn()}},unregister:{enumerable:ln,value:(...t)=>{zs.remove(...t),rn()}}});class cn{constructor(t){this.options=t||{}}formats(){return hn()}parse(t,e){return hn()}format(t,e){return hn()}add(t,e,i){return hn()}diff(t,e,i){return hn()}startOf(t,e,i){return hn()}endOf(t,e){return hn()}}cn.override=function(t){Object.assign(cn.prototype,t)};var dn={_date:cn};function un(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=de(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(ct(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function fn(t,e,i,s){return Y(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function gn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(fn(u,d,o,h));return l}function pn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function mn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[xn(c,a,r,l)]=!0,n=h)),o[xn(n,a,r,l)]=!0,t.borderSkipped=o}function xn(t,e,i,s){var n,o,a;return s?(a=i,t=bn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=bn(t,e,i),t}function bn(t,e,i){return"start"===t?e:"end"===t?i:t}function _n(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class yn extends ws{parsePrimitiveData(t,e,i,s){return gn(t,e,i,s)}parseArrayData(t,e,i,s){return gn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(lt(g,l),d),c.push(fn(lt(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=pn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:a}}=this,r=a.getBasePixel(),l=a.isHorizontal(),h=this._getRuler(),c=this.resolveDataElementOptions(e,s),d=this.getSharedOptions(c),u=this.includeOptions(s,d);this.updateSharedOptions(d,s,c);for(let c=e;c<e+i;c++){const e=this.getParsed(c),i=n||$(e[a.axis])?{base:r,head:r}:this._calculateBarValuePixels(c),f=this._calculateBarIndexPixels(c,h),g=(e._stacks||{})[a.axis],p={horizontal:l,base:i.base,enableBorderRadius:!g||pn(e._custom)||o===g._top||o===g._bottom,x:l?i.head:f.center,y:l?f.center:i.head,height:l?f.size:Math.abs(i.size),width:l?Math.abs(i.size):f.size};u&&(p.options=d||this.resolveDataElementOptions(c,t[c].active?"active":s));const m=p.options||t[c].options;mn(p,m,g,o),_n(p,m,h.ratio),this.updateElement(t[c],c,p,s)}}_getStacks(t,e){const i=this._cachedMeta.iScale,s=i.getMatchingVisibleMetas(this._type),n=i.options.stacked,o=s.length,a=[];let r,l;for(r=0;r<o;++r)if(l=s[r],l.controller.options.grouped){if(void 0!==e){const t=l.controller.getParsed(e)[l.controller._cachedMeta.vScale.axis];if($(t)||isNaN(t))continue}if((!1===n||-1===a.indexOf(l.stack)||void 0===n&&void 0===l.stack)&&a.push(l.stack),l.index===t)break}return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||un(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i},options:{base:s,minBarLength:n}}=this,o=s||0,a=this.getParsed(t),r=a._custom,l=pn(r);let h,c,d=a[e.axis],u=0,f=i?this.applyStack(e,a,i):d;f!==d&&(u=f-d,f=d),l&&(d=r.barStart,f=r.barEnd-r.barStart,0!==d&&Dt(d)!==Dt(r.barEnd)&&(u=0),u+=d);const g=$(s)||l?u:s;let p=e.getPixelForValue(g);if(h=this.chart.getDataVisibility(t)?e.getPixelForValue(u+f):p,c=h-p,Math.abs(c)<n&&(c=function(t,e,i){return 0!==t?Dt(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(c,e,o)*n,d===o&&(p-=c/2),h=p+c),p===e.getPixelForValue(o)){const t=Dt(c)*e.getLineWidthForValue(o)/2;p+=t,c-=t}return{size:c,base:p,head:h,center:h+c/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=K(s.maxBarThickness,1/0);let a,r;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,s,i):function(t,e,i,s){const n=i.barThickness;let o,a;return $(n)?(o=e.min*i.categoryPercentage,a=i.barPercentage):(o=n*s,a=1),{chunk:o/s,ratio:a,start:e.pixels[t]-o/2}}(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);a=l.start+l.chunk*h+l.chunk/2,r=Math.min(o,l.chunk*l.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),r=Math.min(o,e.min*e.ratio);return{base:a-r/2,head:a+r/2,center:a,size:r}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null!==this.getParsed(n)[e.axis]&&i[n].draw(this._ctx)}}yn.id="bar",yn.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},yn.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};class vn extends ws{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:s}=e,n=this.getParsed(t),o=i.getLabelForValue(n.x),a=s.getLabelForValue(n.y),r=n._custom;return{label:e.label,value:"("+o+", "+a+(r?", "+r:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,r=this.resolveDataElementOptions(e,s),l=this.getSharedOptions(r),h=this.includeOptions(s,l),c=o.axis,d=a.axis;for(let r=e;r<e+i;r++){const e=t[r],i=!n&&this.getParsed(r),l={},u=l[c]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[c]),f=l[d]=n?a.getBasePixel():a.getPixelForValue(i[d]);l.skip=isNaN(u)||isNaN(f),h&&(l.options=this.resolveDataElementOptions(r,e.active?"active":s),n&&(l.options.radius=0)),this.updateElement(e,r,l,s)}this.updateSharedOptions(l,s,r)}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=K(i&&i._custom,n),s}}vn.id="bubble",vn.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},vn.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}};class wn extends ws{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,a=t=>+i[t];if(U(i[t])){const{key:t="value"}=this._parsing;a=e=>+lt(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=a(n)}}_getRotation(){return Et(this.options.rotation-90)}_getCircumference(){return Et(this.options.circumference)}_getRotationExtents(){let t=_t,e=-_t;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(G(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:h,rotation:c}=this._getRotationExtents(),{ratioX:d,ratioY:u,offsetX:f,offsetY:g}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<_t){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>Nt(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Nt(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(Mt,c,u),x=g(bt,h,d),b=g(bt+Mt,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(c,h,r),p=(i.width-o)/d,m=(i.height-o)/u,x=Math.max(Math.min(p,m)/2,0),b=Z(this.options.radius,x),_=(b-Math.max(b*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=f*b,this.offsetY=g*b,s.total=this.calculateTotal(),this.outerRadius=b-_*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-_*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/_t)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,f=this.resolveDataElementOptions(e,s),g=this.getSharedOptions(f),p=this.includeOptions(s,g);let m,x=this._getRotation();for(m=0;m<e;++m)x+=this._circumference(m,n);for(m=e;m<e+i;++m){const e=this._circumference(m,n),i=t[m],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:x,endAngle:x+e,circumference:e,outerRadius:u,innerRadius:d};p&&(o.options=g||this.resolveDataElementOptions(m,i.active?"active":s)),x+=e,this.updateElement(i,m,o,s)}this.updateSharedOptions(g,s,f)}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?_t*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ai(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller,a!==this&&a.configure();break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}wn.id="doughnut",wn.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},wn.descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t},wn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const i=": "+t.formattedValue;return Y(e)?(e=e.slice(),e[0]+=i):e+=i,e}}}}};class Mn extends ws{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=function(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=Ht(Math.min(oe(r,a.axis,h).lo,i?s:oe(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?Ht(Math.max(oe(r,a.axis,c).hi+1,i?0:oe(e,l,a.getPixelForValue(c)).hi+1),n,s)-n:s-n}return{start:n,count:o}}(e,s,o);this._drawStart=a,this._drawCount=r,function(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,f=a.axis,{spanGaps:g,segment:p}=this.options,m=At(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||n||"none"===s;let b=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),g=x?e:{},_=$(i[f]),y=g[u]=o.getPixelForValue(i[u],h),v=g[f]=n||_?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,i,r):i[f],h);g.skip=isNaN(y)||isNaN(v)||_,g.stop=h>0&&i[u]-b[u]>m,p&&(g.parsed=i,g.raw=l.data[h]),d&&(g.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),x||this.updateElement(e,h,g,s),b=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Mn.id="line",Mn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Mn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class kn extends ws{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ai(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=this.getDataset(),r=o.options.animation,l=this._cachedMeta.rScale,h=l.xCenter,c=l.yCenter,d=l.getIndexAngle(0)-.5*bt;let u,f=d;const g=360/this.countVisibleElements();for(u=0;u<e;++u)f+=this._computeAngle(u,s,g);for(u=e;u<e+i;u++){const e=t[u];let i=f,p=f+this._computeAngle(u,s,g),m=o.getDataVisibility(u)?l.getDistanceFromCenterForValue(a.data[u]):0;f=p,n&&(r.animateScale&&(m=0),r.animateRotate&&(i=p=d));const x={x:h,y:c,innerRadius:0,outerRadius:m,startAngle:i,endAngle:p,options:this.resolveDataElementOptions(u,e.active?"active":s)};this.updateElement(e,u,x,s)}}countVisibleElements(){const t=this.getDataset(),e=this._cachedMeta;let i=0;return e.data.forEach(((e,s)=>{!isNaN(t.data[s])&&this.chart.getDataVisibility(s)&&i++})),i}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?Et(this.resolveDataElementOptions(t,e).angle||i):0}}kn.id="polarArea",kn.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},kn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Sn extends wn{}Sn.id="pie",Sn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Pn extends ws{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this.getDataset(),o=this._cachedMeta.rScale,a="reset"===s;for(let r=e;r<e+i;r++){const e=t[r],i=this.resolveDataElementOptions(r,e.active?"active":s),l=o.getPointPositionForValue(r,n.data[r]),h=a?o.xCenter:l.x,c=a?o.yCenter:l.y,d={x:h,y:c,angle:l.angle,skip:isNaN(h)||isNaN(c),options:i};this.updateElement(e,r,d,s)}}}Pn.id="radar",Pn.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},Pn.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};class Dn extends Mn{}Dn.id="scatter",Dn.defaults={showLine:!1,fill:!1},Dn.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Cn=Object.freeze({__proto__:null,BarController:yn,BubbleController:vn,DoughnutController:wn,LineController:Mn,PolarAreaController:kn,PieController:Sn,RadarController:Pn,ScatterController:Dn});function On(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+Mt,s-Mt),t.closePath(),t.clip()}function An(t,e,i,s){const n=Ie(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Ht(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Ht(n.innerStart,0,a),innerEnd:Ht(n.innerEnd,0,a)}}function Tn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Ln(t,e,i,s,n){const{x:o,y:a,startAngle:r,pixelMargin:l,innerRadius:h}=e,c=Math.max(e.outerRadius+s+i-l,0),d=h>0?h+s+i+l:0;let u=0;const f=n-r;if(s){const t=((h>0?h-s:0)+(c>0?c-s:0))/2;u=(f-(0!==t?f*t/(t+s):f))/2}const g=(f-Math.max(.001,f*c-i/bt)/c)/2,p=r+g+u,m=n-g-u,{outerStart:x,outerEnd:b,innerStart:_,innerEnd:y}=An(e,d,c,m-p),v=c-x,w=c-b,M=p+x/v,k=m-b/w,S=d+_,P=d+y,D=p+_/S,C=m-y/P;if(t.beginPath(),t.arc(o,a,c,M,k),b>0){const e=Tn(w,k,o,a);t.arc(e.x,e.y,b,k,m+Mt)}const O=Tn(P,m,o,a);if(t.lineTo(O.x,O.y),y>0){const e=Tn(P,C,o,a);t.arc(e.x,e.y,y,m+Mt,C+Math.PI)}if(t.arc(o,a,d,m-y/d,p+_/d,!0),_>0){const e=Tn(S,D,o,a);t.arc(e.x,e.y,_,D+Math.PI,p-Mt)}const A=Tn(v,p,o,a);if(t.lineTo(A.x,A.y),x>0){const e=Tn(v,M,o,a);t.arc(e.x,e.y,x,p-Mt,M)}t.closePath()}function Rn(t,e,i,s,n){const{options:o}=e,a="inner"===o.borderAlign;o.borderWidth&&(a?(t.lineWidth=2*o.borderWidth,t.lineJoin="round"):(t.lineWidth=o.borderWidth,t.lineJoin="bevel"),e.fullCircles&&function(t,e,i){const{x:s,y:n,startAngle:o,pixelMargin:a,fullCircles:r}=e,l=Math.max(e.outerRadius-a,0),h=e.innerRadius+a;let c;for(i&&On(t,e,o+_t),t.beginPath(),t.arc(s,n,h,o+_t,o,!0),c=0;c<r;++c)t.stroke();for(t.beginPath(),t.arc(s,n,l,o,o+_t),c=0;c<r;++c)t.stroke()}(t,e,a),a&&On(t,e,n),Ln(t,e,i,s,n),t.stroke())}class En extends Ms{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=Ft(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=this.options.spacing/2;return(c>=_t||Nt(n,a,r))&&(o>=l+d&&o<=h+d)}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/2,n=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>_t?Math.floor(i/_t):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let o=0;if(s){o=s/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*o,Math.sin(e)*o),this.circumference>=bt&&(o=s)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=function(t,e,i,s){const{fullCircles:n,startAngle:o,circumference:a}=e;let r=e.endAngle;if(n){Ln(t,e,i,s,o+_t);for(let e=0;e<n;++e)t.fill();isNaN(a)||(r=o+a%_t,a%_t==0&&(r+=_t))}return Ln(t,e,i,s,r),t.fill(),r}(t,this,o,n);Rn(t,this,o,n,a),t.restore()}}function In(t,e,i=e){t.lineCap=K(i.borderCapStyle,e.borderCapStyle),t.setLineDash(K(i.borderDash,e.borderDash)),t.lineDashOffset=K(i.borderDashOffset,e.borderDashOffset),t.lineJoin=K(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=K(i.borderWidth,e.borderWidth),t.strokeStyle=K(i.borderColor,e.borderColor)}function zn(t,e,i){t.lineTo(i.x,i.y)}function Fn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function Bn(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Fn(n,i,s),c=function(t){return t.stepped?Jt:t.tension||"monotone"===t.cubicInterpolationMode?te:zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function Vn(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Fn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function Wn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?Vn:Bn}En.id="arc",En.defaults={borderAlign:"center",borderColor:"#fff",borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},En.defaultRoutes={backgroundColor:"backgroundColor"};const Nn="function"==typeof Path2D;function Hn(t,e,i,s){Nn&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),In(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Wn(e);for(const r of n)In(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class jn extends Ms{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;vi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Bi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Fi(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?Di:t.tension||"monotone"===t.cubicInterpolationMode?Ci:Pi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return Wn(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=Wn(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),Hn(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function $n(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}jn.id="line",jn.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},jn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},jn.descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};class Yn extends Ms{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return $n(this,t,"x",e)}inYRange(t,e){return $n(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Gt(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Kt(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function Un(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function Xn(t,e,i,s){return t?0:Ht(e,i,s)}function qn(t){const e=Un(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=ze(s);return{t:Xn(n.top,o.top,0,i),r:Xn(n.right,o.right,0,e),b:Xn(n.bottom,o.bottom,0,i),l:Xn(n.left,o.left,0,e)}}(t,i/2,s/2),o=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=Fe(n),a=Math.min(e,i),r=t.borderSkipped,l=s||U(n);return{topLeft:Xn(!l||r.top||r.left,o.topLeft,0,a),topRight:Xn(!l||r.top||r.right,o.topRight,0,a),bottomLeft:Xn(!l||r.bottom||r.left,o.bottomLeft,0,a),bottomRight:Xn(!l||r.bottom||r.right,o.bottomRight,0,a)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function Kn(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&Un(t,s);return a&&(n||e>=a.left&&e<=a.right)&&(o||i>=a.top&&i<=a.bottom)}function Gn(t,e){t.rect(e.x,e.y,e.w,e.h)}function Zn(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}Yn.id="point",Yn.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},Yn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};class Qn extends Ms{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=qn(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?se:Gn;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,Zn(o,e,n)),t.clip(),a(t,Zn(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,Zn(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return Kn(this,t,e,i)}inXRange(t,e){return Kn(this,t,null,e)}inYRange(t,e){return Kn(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}Qn.id="bar",Qn.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},Qn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var Jn=Object.freeze({__proto__:null,ArcElement:En,LineElement:jn,PointElement:Yn,BarElement:Qn});function to(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{value:e})}}function eo(t){t.data.datasets.forEach((t=>{to(t)}))}var io={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void eo(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:a}=e,r=t.getDatasetMeta(n),l=o||e.data;if("y"===We([a,t.options.indexAxis]))return;if("line"!==r.type)return;const h=t.scales[r.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Ht(oe(e,o.axis,a).lo,0,i-1)),s=h?Ht(oe(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(r,l);if(d<=(i.threshold||4*s))return void to(e);let u;switch($(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(l,c,d,s,i);break;case"min-max":u=function(t,e,i,s){let n,o,a,r,l,h,c,d,u,f,g=0,p=0;const m=[],x=e+i-1,b=t[e].x,_=t[x].x-b;for(n=e;n<e+i;++n){o=t[n],a=(o.x-b)/_*s,r=o.y;const e=0|a;if(e===l)r<u?(u=r,h=n):r>f&&(f=r,c=n),g=(p*g+o.x)/++p;else{const i=n-1;if(!$(h)&&!$(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:g}),s!==d&&s!==i&&m.push({...t[s],x:g})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,p=0,u=f=r,h=c=d=n}}return m}(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){eo(t)}};function so(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=K(i&&i.target,i);return void 0===s&&(s=!!e.backgroundColor),!1!==s&&null!==s&&(!0===s?"origin":s)}(t);if(U(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return X(n)&&Math.floor(n)===n?("-"!==s[0]&&"+"!==s[0]||(n=e+n),!(n===e||n<0||n>=i)&&n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}class no{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:_t},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function oo(t){return(t.scale||{}).getPointPositionForValue?function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=[],a=s.reverse?e.max:e.min,r=s.reverse?e.min:e.max;let l,h,c;if(c="start"===i?a:"end"===i?r:U(i)?i.value:e.getBaseValue(),s.grid.circular)return h=e.getPointPositionForValue(0,a),new no({x:h.x,y:h.y,radius:e.getDistanceFromCenterForValue(c)});for(l=0;l<n;++l)o.push(e.getPointPositionForValue(l,c));return o}(t):function(t){const{scale:e={},fill:i}=t;let s,n=null;return"start"===i?n=e.bottom:"end"===i?n=e.top:U(i)?n=e.getPixelForValue(i.value):e.getBasePixel&&(n=e.getBasePixel()),X(n)?(s=e.isHorizontal(),{x:s?n:null,y:s?null:n}):null}(t)}function ao(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ro(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=lo(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function lo(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(n>=s&&n<=h){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}function ho(t){const{chart:e,fill:i,line:s}=t;if(X(i))return function(t,e){const i=t.getDatasetMeta(e);return i&&t.isDatasetVisible(e)?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(co({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)ro(n,a[t],r)}return new jn({points:n,options:{}})}(t);if("shape"===i)return!0;const n=oo(t);return n instanceof no?n:co(n,s)}function co(t,e){let i=[],s=!1;return Y(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ao(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new jn({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function uo(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!X(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function fo(t,e,i){t.beginPath(),e.path(t),t.lineTo(e.last().x,i),t.lineTo(e.first().x,i),t.closePath(),t.clip()}function go(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=Wt(n),o=Wt(o)),{property:t,start:n,end:o}}function po(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function mo(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:a,end:r}=i||{};"x"===o&&(t.beginPath(),t.rect(a,s,r-a,n-s),t.clip())}function xo(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}function bo(t,e){const{line:i,target:s,property:n,color:o,scale:a}=e,r=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ao(s,r,n);const l=go(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Fi(e,l);for(const e of h){const s=go(i,o[e.start],o[e.end],e.loop),r=zi(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:po(l,s,"start",Math.max)},end:{[i]:po(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:l,start:h,end:c}of r){const{style:{backgroundColor:r=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=r,mo(t,a,d&&go(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let f;if(d){u?t.closePath():xo(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});f=u&&e,f||xo(t,s,h,n)}t.closePath(),t.fill(f?"evenodd":"nonzero"),t.restore()}}function _o(t,e,i){const s=ho(e),{line:n,scale:o,axis:a}=e,r=n.options,l=r.fill,h=r.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(Zt(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(fo(t,s,a.top),bo(t,{line:i,target:s,color:n,scale:r,property:l}),t.restore(),t.save(),fo(t,s,a.bottom)),bo(t,{line:i,target:s,color:o,scale:r,property:l}),t.restore()}(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:a}),Qt(t))}var yo={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof jn&&(l={visible:t.isDatasetVisible(a),index:a,fill:so(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=uo(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&_o(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;i&&_o(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;s&&!1!==s.fill&&"beforeDatasetDraw"===i.drawTime&&_o(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const vo=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class wo extends Ms{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Q(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Ve(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=vo(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,n,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const p=i+e/2+n.measureText(t.text).width;o>0&&u+s+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:s},d=Math.max(d,p),u+=s+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:o}}=this,a=Ti(o,this.left,this.width);if(this.isHorizontal()){let o=0,r=n(i,this.left+s,this.right-this.lineWidths[o]);for(const l of e)o!==l.row&&(o=l.row,r=n(i,this.left+s,this.right-this.lineWidths[o])),l.top+=this.top+t+s,l.left=a.leftForLtr(a.x(r),l.width),r+=l.width+s}else{let o=0,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height);for(const l of e)l.col!==o&&(o=l.col,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height)),l.top=r,l.left+=this.left+s,l.left=a.leftForLtr(a.x(l.left),l.width),r+=l.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Zt(t,this),this._draw(),Qt(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:a,labels:r}=t,l=xt.color,h=Ti(t.rtl,this.left,this.width),c=Ve(r.font),{color:d,padding:u}=r,f=c.size,g=f/2;let p;this.drawTitle(),s.textAlign=h.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:m,boxHeight:x,itemHeight:b}=vo(r,f),_=this.isHorizontal(),y=this._computeTitleHeight();p=_?{x:n(a,this.left+u,this.right-i[0]),y:this.top+u+y,line:0}:{x:this.left+u,y:n(a,this.top+y+u,this.bottom-e[0].height),line:0},Li(this.ctx,t.textDirection);const v=b+u;this.legendItems.forEach(((w,M)=>{s.strokeStyle=w.fontColor||d,s.fillStyle=w.fontColor||d;const k=s.measureText(w.text).width,S=h.textAlign(w.textAlign||(w.textAlign=r.textAlign)),P=m+g+k;let D=p.x,C=p.y;h.setWidth(this.width),_?M>0&&D+P+u>this.right&&(C=p.y+=v,p.line++,D=p.x=n(a,this.left+u,this.right-i[p.line])):M>0&&C+v>this.bottom&&(D=p.x=D+e[p.line].width+u,p.line++,C=p.y=n(a,this.top+y+u,this.bottom-e[p.line].height));!function(t,e,i){if(isNaN(m)||m<=0||isNaN(x)||x<0)return;s.save();const n=K(i.lineWidth,1);if(s.fillStyle=K(i.fillStyle,l),s.lineCap=K(i.lineCap,"butt"),s.lineDashOffset=K(i.lineDashOffset,0),s.lineJoin=K(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=K(i.strokeStyle,l),s.setLineDash(K(i.lineDash,[])),r.usePointStyle){const o={radius:m*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},a=h.xPlus(t,m/2);Kt(s,o,a,e+g)}else{const o=e+Math.max((f-x)/2,0),a=h.leftForLtr(t,m),r=Fe(i.borderRadius);s.beginPath(),Object.values(r).some((t=>0!==t))?se(s,{x:a,y:o,w:m,h:x,radius:r}):s.rect(a,o,m,x),s.fill(),0!==n&&s.stroke()}s.restore()}(h.x(D),C,w),D=o(S,D+m+g,_?D+P:this.right,t.rtl),function(t,e,i){ee(s,i.text,t,e+b/2,c,{strikethrough:i.hidden,textAlign:h.textAlign(i.textAlign)})}(h.x(D),C,w),_?p.x+=P+u:p.y+=v})),Ri(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Ve(e.font),o=Be(e.padding);if(!e.display)return;const a=Ti(t.rtl,this.left,this.width),r=this.ctx,l=e.position,h=i.size/2,c=o.top+h;let d,u=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),d=this.top+c,u=n(t.align,u,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);d=c+n(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const g=n(l,u,u+f);r.textAlign=a.textAlign(s(l)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,ee(r,e.text,g,d,i)}_computeTitleHeight(){const t=this.options.title,e=Ve(t.font),i=Be(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom)for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],t>=s.left&&t<=s.left+s.width&&e>=s.top&&e<=s.top+s.height)return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if("mousemove"===t&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&Q(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&Q(e.onHover,[t,i,this],this)}else i&&Q(e.onClick,[t,i,this],this);var s,n}}var Mo={id:"legend",_element:wo,start(t,e,i){const s=t.legend=new wo({ctx:t.ctx,options:i,chart:t});ei.configure(t,s,i),ei.addBox(t,s)},stop(t){ei.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ei.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(i?0:void 0),r=Be(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(r.width+r.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ko extends Ms{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=Y(i.text)?i.text.length:1;this._padding=Be(i.padding);const n=s*Ve(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:o,options:a}=this,r=a.align;let l,h,c,d=0;return this.isHorizontal()?(h=n(r,i,o),c=e+t,l=o-i):("left"===a.position?(h=i+t,c=n(r,s,e),d=-.5*bt):(h=o-t,c=n(r,e,s),d=.5*bt),l=s-e),{titleX:h,titleY:c,maxWidth:l,rotation:d}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Ve(e.font),n=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:r,rotation:l}=this._drawArgs(n);ee(t,e.text,0,0,i,{color:e.color,maxWidth:r,rotation:l,textAlign:s(e.align),textBaseline:"middle",translation:[o,a]})}}var So={id:"title",_element:ko,start(t,e,i){!function(t,e){const i=new ko({ctx:t.ctx,options:e,chart:t});ei.configure(t,i,e),ei.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ei.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ei.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Po=new WeakMap;var Do={id:"subtitle",start(t,e,i){const s=new ko({ctx:t.ctx,options:i,chart:t});ei.configure(t,s,i),ei.addBox(t,s),Po.set(t,s)},stop(t){ei.removeBox(t,Po.get(t)),Po.delete(t)},beforeUpdate(t,e,i){const s=Po.get(t);ei.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Co={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s+=t.x,n+=t.y,++o}}return{x:s/o,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=Bt(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Oo(t,e){return e&&(Y(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Ao(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function To(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Lo(t,e){const i=t._chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Ve(e.bodyFont),h=Ve(e.titleFont),c=Ve(e.footerFont),d=o.length,u=n.length,f=s.length,g=Be(e.padding);let p=g.height,m=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,d&&(p+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),x){p+=f*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-f)*l.lineHeight+(x-1)*e.bodySpacing}u&&(p+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let b=0;const _=function(t){m=Math.max(m,i.measureText(t).width+b)};return i.save(),i.font=h.string,J(t.title,_),i.font=l.string,J(t.beforeBody.concat(t.afterBody),_),b=e.displayColors?a+2+e.boxPadding:0,J(s,(t=>{J(t.before,_),J(t.lines,_),J(t.after,_)})),b=0,i.font=c.string,J(t.footer,_),i.restore(),m+=g.width,{width:m,height:p}}function Ro(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Eo(t,e,i){const s=e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:e.xAlign||Ro(t,e,i,s),yAlign:s}}function Io(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Fe(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+o:"right"===r&&(g+=Math.max(d,f)+o),{x:Ht(g,0,s.width-e.width),y:Ht(p,0,s.height-e.height)}}function zo(t,e,i){const s=Be(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Fo(t){return Oo([],Ao(t))}function Bo(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}class Vo extends Ms{constructor(t){super(),this.opacity=0,this._active=[],this._chart=t._chart,this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this._chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new cs(this._chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this._chart.getContext(),e=this,i=this._tooltipItems,He(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=i.beforeTitle.apply(this,[t]),n=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]);let a=[];return a=Oo(a,Ao(s)),a=Oo(a,Ao(n)),a=Oo(a,Ao(o)),a}getBeforeBody(t,e){return Fo(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,s=[];return J(t,(t=>{const e={before:[],lines:[],after:[]},n=Bo(i,t);Oo(e.before,Ao(n.beforeLabel.call(this,t))),Oo(e.lines,n.label.call(this,t)),Oo(e.after,Ao(n.afterLabel.call(this,t))),s.push(e)})),s}getAfterBody(t,e){return Fo(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,s=i.beforeFooter.apply(this,[t]),n=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]);let a=[];return a=Oo(a,Ao(s)),a=Oo(a,Ao(n)),a=Oo(a,Ao(o)),a}_createItems(t){const e=this._active,i=this._chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(To(this._chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),J(l,(e=>{const i=Bo(t.callbacks,e);s.push(i.labelColor.call(this,e)),n.push(i.labelPointStyle.call(this,e)),o.push(i.labelTextColor.call(this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Co[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Lo(this,i),a=Object.assign({},t,e),r=Eo(this._chart,i,a),l=Io(i,a,r,this._chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this._chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=Fe(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Ti(i.rtl,this.x,this.width);for(t.x=zo(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Ve(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:r,boxWidth:l,boxPadding:h}=n,c=Ve(n.bodyFont),d=zo(this,"left",n),u=s.x(d),f=r<c.lineHeight?(c.lineHeight-r)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(l,r)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=s.leftForLtr(u,l)+l/2,h=g+r/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Kt(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,Kt(t,e,i,h)}else{t.lineWidth=o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(u,l-h),i=s.leftForLtr(s.xPlus(u,1),l-h-2),a=Fe(o.borderRadius);Object.values(a).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,se(t,{x:e,y:g,w:l,h:r,radius:a}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),se(t,{x:i,y:g+1,w:l-2,h:r-2,radius:a}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,l,r),t.strokeRect(e,g,l,r),t.fillStyle=o.backgroundColor,t.fillRect(i,g+1,l-2,r-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Ve(i.bodyFont);let d=c.lineHeight,u=0;const f=Ti(i.rtl,this.x,this.width),g=function(i){e.fillText(i,f.x(t.x+u),t.y+d/2),t.y+=d+n},p=f.textAlign(o);let m,x,b,_,y,v,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=zo(this,p,i),e.fillStyle=i.bodyColor,J(this.beforeBody,g),u=a&&"right"!==p?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],x=this.labelTextColors[_],e.fillStyle=x,J(m.before,g),b=m.lines,a&&b.length&&(this._drawColorBox(e,t,_,f,i),d=Math.max(c.lineHeight,r)),y=0,w=b.length;y<w;++y)g(b[y]),d=c.lineHeight;J(m.after,g)}u=0,d=c.lineHeight,J(this.afterBody,g),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Ti(i.rtl,this.x,this.width);for(t.x=zo(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Ve(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Fe(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this._chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Co[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Lo(this,t),a=Object.assign({},i,this._size),r=Eo(e,t,a),l=Io(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=Be(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Li(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ri(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this._chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!tt(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this.update(!0))}handleEvent(t,e){const i=this.options,s=this._active||[];let n=!1,o=[];"mouseout"!==t.type&&(o=this._chart.getElementsAtEventForMode(t,i.mode,i,e),i.reverse&&o.reverse());const a=this._positionChanged(o,t);return n=e||!tt(o,s)||a,n&&(this._active=o,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),n}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Co[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}Vo.positioners=Co;var Wo={id:"tooltip",_element:Vo,positioners:Co,afterInit(t,e,i){i&&(t.tooltip=new Vo({_chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip,i={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",i)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i))},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:H,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:H,beforeBody:H,beforeLabel:H,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return $(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:H,afterBody:H,beforeFooter:H,footer:H,afterFooter:H}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},No=Object.freeze({__proto__:null,Decimation:io,Filler:yo,Legend:Mo,SubTitle:Do,Title:So,Tooltip:Wo});function Ho(t,e,i){const s=t.indexOf(e);if(-1===s)return((t,e,i)=>"string"==typeof e?t.push(e)-1:isNaN(e)?null:i)(t,e,i);return s!==t.lastIndexOf(e)?i:s}class jo extends Es{constructor(t){super(t),this._startValue=void 0,this._valueRange=0}parse(t,e){if($(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Ht(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:Ho(i,t,K(e,t)),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function $o(t,e,{horizontal:i,minRotation:s}){const n=Et(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}jo.id="category",jo.defaults={ticks:{callback:jo.prototype.getLabelForValue}};class Yo extends Es{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return $(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=Dt(s),e=Dt(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=1;(n>=Number.MAX_SAFE_INTEGER||s<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*n)),a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=function(t,e){const i=[],{bounds:s,step:n,min:o,max:a,precision:r,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,f=h-1,{min:g,max:p}=e,m=!$(o),x=!$(a),b=!$(l),_=(p-g)/(c+1);let y,v,w,M,k=Ct((p-g)/f/u)*u;if(k<1e-14&&!m&&!x)return[{value:g},{value:p}];M=Math.ceil(p/k)-Math.floor(g/k),M>f&&(k=Ct(M*k/f/u)*u),$(r)||(y=Math.pow(10,r),k=Math.ceil(k*y)/y),"ticks"===s?(v=Math.floor(g/k)*k,w=Math.ceil(p/k)*k):(v=g,w=p),m&&x&&n&&Lt((a-o)/n,k/1e3)?(M=Math.round(Math.min((a-o)/k,h)),k=(a-o)/M,v=o,w=a):b?(v=m?o:v,w=x?a:w,M=l-1,k=(w-v)/M):(M=(w-v)/k,M=Tt(M,Math.round(M),k/1e3)?Math.round(M):Math.ceil(M));const S=Math.max(zt(k),zt(v));y=Math.pow(10,$(r)?S:r),v=Math.round(v*y)/y,w=Math.round(w*y)/y;let P=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&P++,Tt(Math.round((v+P*k)*y)/y,o,$o(o,_,t))&&P++):v<o&&P++);P<M;++P)i.push({value:Math.round((v+P*k)*y)/y});return x&&d&&w!==a?i.length&&Tt(i[i.length-1].value,a,$o(a,_,t))?i[i.length-1].value=a:i.push({value:a}):x&&w!==a||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&Rt(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ai(t,this.chart.options.locale)}}class Uo extends Yo{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?t:0,this.max=X(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=Et(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function Xo(t){return 1===t/Math.pow(10,Math.floor(Pt(t)))}Uo.id="linear",Uo.defaults={ticks:{callback:Ss.formatters.numeric}};class qo extends Es{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Yo.prototype.parse.apply(this,[t,e]);if(0!==i)return X(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?Math.max(0,t):null,this.max=X(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t,a=(t,e)=>Math.pow(10,Math.floor(Pt(t))+e);i===s&&(i<=0?(n(1),o(10)):(n(a(i,-1)),o(a(s,1)))),i<=0&&n(a(s,-1)),s<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&n(a(i,-1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=function(t,e){const i=Math.floor(Pt(e.max)),s=Math.ceil(e.max/Math.pow(10,i)),n=[];let o=q(t.min,Math.pow(10,Math.floor(Pt(e.min)))),a=Math.floor(Pt(o)),r=Math.floor(o/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do{n.push({value:o,major:Xo(o)}),++r,10===r&&(r=1,++a,l=a>=0?1:l),o=Math.round(r*Math.pow(10,a)*l)/l}while(a<i||a===i&&r<s);const h=q(t.max,o);return n.push({value:h,major:Xo(o)}),n}({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&Rt(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":Ai(t,this.chart.options.locale)}configure(){const t=this.min;super.configure(),this._startValue=Pt(t),this._valueRange=Pt(this.max)-Pt(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Pt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Ko(t){const e=t.ticks;if(e.display&&t.display){const t=Be(e.backdropPadding);return K(e.font&&e.font.size,xt.font.size)+t.height}return 0}function Go(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Zo(t){const e={l:0,r:t.width,t:0,b:t.height-t.paddingTop},i={},s=[],n=[],o=t.getLabels().length;for(let h=0;h<o;h++){const o=t.options.pointLabels.setContext(t.getPointLabelContext(h));n[h]=o.padding;const c=t.getPointPosition(h,t.drawingArea+n[h]),d=Ve(o.font),u=(a=t.ctx,r=d,l=Y(l=t._pointLabels[h])?l:[l],{w:Ut(a,r.string,l),h:l.length*r.lineHeight});s[h]=u;const f=t.getIndexAngle(h),g=It(f),p=Go(g,c.x,u.w,0,180),m=Go(g,c.y,u.h,90,270);p.start<e.l&&(e.l=p.start,i.l=f),p.end>e.r&&(e.r=p.end,i.r=f),m.start<e.t&&(e.t=m.start,i.t=f),m.end>e.b&&(e.b=m.end,i.b=f)}var a,r,l;t._setReductions(t.drawingArea,e,i),t._pointLabelItems=function(t,e,i){const s=[],n=t.getLabels().length,o=t.options,a=Ko(o),r=t.getDistanceFromCenterForValue(o.ticks.reverse?t.min:t.max);for(let o=0;o<n;o++){const n=0===o?a/2:0,l=t.getPointPosition(o,r+n+i[o]),h=It(t.getIndexAngle(o)),c=e[o],d=ta(l.y,c.h,h),u=Qo(h),f=Jo(l.x,c.w,u);s.push({x:l.x,y:d,textAlign:u,left:f,top:d,right:f+c.w,bottom:d+c.h})}return s}(t,s,n)}function Qo(t){return 0===t||180===t?"center":t<180?"left":"right"}function Jo(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function ta(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function ea(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,_t);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}function ia(t){return At(t)?t:0}qo.id="logarithmic",qo.defaults={ticks:{callback:Ss.formatters.logarithmic,major:{enabled:!0}}};class sa extends Yo{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){this.width=this.maxWidth,this.height=this.maxHeight,this.paddingTop=Ko(this.options)/2,this.xCenter=Math.floor(this.width/2),this.yCenter=Math.floor((this.height-this.paddingTop)/2),this.drawingArea=Math.min(this.height-this.paddingTop,this.width)/2}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=X(t)&&!isNaN(t)?t:0,this.max=X(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Ko(this.options))}generateTickLabels(t){Yo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=Q(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""}))}fit(){const t=this.options;t.display&&t.pointLabels.display?Zo(this):this.setCenterPoint(0,0,0,0)}_setReductions(t,e,i){let s=e.l/Math.sin(i.l),n=Math.max(e.r-this.width,0)/Math.sin(i.r),o=-e.t/Math.cos(i.t),a=-Math.max(e.b-(this.height-this.paddingTop),0)/Math.cos(i.b);s=ia(s),n=ia(n),o=ia(o),a=ia(a),this.drawingArea=Math.max(t/2,Math.min(Math.floor(t-(s+n)/2),Math.floor(t-(o+a)/2))),this.setCenterPoint(s,n,o,a)}setCenterPoint(t,e,i,s){const n=this.width-e-this.drawingArea,o=t+this.drawingArea,a=i+this.drawingArea,r=this.height-this.paddingTop-s-this.drawingArea;this.xCenter=Math.floor((o+n)/2+this.left),this.yCenter=Math.floor((a+r)/2+this.top+this.paddingTop)}getIndexAngle(t){return Wt(t*(_t/this.getLabels().length)+Et(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if($(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if($(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return He(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e){const i=this.getIndexAngle(t)-Mt;return{x:Math.cos(i)*e+this.xCenter,y:Math.sin(i)*e+this.yCenter,angle:i}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),ea(this,this.getDistanceFromCenterForValue(this._endValue),e,this.getLabels().length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s}=e,n=this.getLabels().length;let o,a,r;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=s.setContext(t.getPointLabelContext(n)),o=Ve(e.font),{x:a,y:r,textAlign:l,left:h,top:c,right:d,bottom:u}=t._pointLabelItems[n],{backdropColor:f}=e;if(!$(f)){const t=Be(e.backdropPadding);i.fillStyle=f,i.fillRect(h-t.left,c-t.top,d-h+t.width,u-c+t.height)}ee(i,t._pointLabels[n],a,r+o.lineHeight/2,o,{color:e.color,textAlign:l,textBaseline:"middle"})}}(this,n),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e){a=this.getDistanceFromCenterForValue(t.value);!function(t,e,i,s){const n=t.ctx,o=e.circular,{color:a,lineWidth:r}=e;!o&&!s||!a||!r||i<0||(n.save(),n.strokeStyle=a,n.lineWidth=r,n.setLineDash(e.borderDash),n.lineDashOffset=e.borderDashOffset,n.beginPath(),ea(t,i,o,s),n.closePath(),n.stroke(),n.restore())}(this,s.setContext(this.getContext(e-1)),a,n)}})),i.display){for(t.save(),o=this.getLabels().length-1;o>=0;o--){const s=i.setContext(this.getPointLabelContext(o)),{color:n,lineWidth:l}=s;l&&n&&(t.lineWidth=l,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),r=this.getPointPosition(o,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Ve(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=Be(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}ee(t,s.label,0,-n,l,{color:r.color})})),t.restore()}drawTitle(){}}sa.id="radialLinear",sa.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ss.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5}},sa.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},sa.descriptors={angleLines:{_fallback:"grid"}};const na={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},oa=Object.keys(na);function aa(t,e){return t-e}function ra(t,e){if($(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let a=e;return"function"==typeof s&&(a=s(a)),X(a)||(a="string"==typeof s?i.parse(a,s):i.parse(a)),null===a?null:(n&&(a="week"!==n||!At(o)&&!0!==o?i.startOf(a,n):i.startOf(a,"isoWeek",o)),+a)}function la(t,e,i,s){const n=oa.length;for(let o=oa.indexOf(t);o<n-1;++o){const t=na[oa[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return oa[o]}return oa[n-1]}function ha(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=ne(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function ca(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class da extends Es{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const i=t.time||(t.time={}),s=this._adapter=new dn._date(t.adapters.date);ot(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:ra(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:a}=this.getUserBounds();function r(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),a||isNaN(t.max)||(n=Math.max(n,t.max))}o&&a||(r(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||r(this.getMinMax(!1))),s=X(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=X(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=re(s,n,this.max);return this._unit=e.unit||(i.autoSkip?la(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=oa.length-1;o>=oa.indexOf(i);o--){const i=oa[o];if(na[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return oa[i?oa.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=oa.indexOf(t)+1,i=oa.length;e<i;++e)if(na[oa[e]].common)return oa[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),ca(this,o,this._majorUnit)}initOffsets(t){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Ht(s,0,o),n=Ht(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||la(n.minUnit,e,i,this._getLabelCapacity(e)),a=K(n.stepSize,1),r="week"===o&&n.isoWeekday,l=At(r)||!0===r,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",r)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const f="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,a,o),d++)ha(h,c,f);return c!==i&&"ticks"!==s.bounds&&1!==d||ha(h,c,f),Object.keys(h).sort(((t,e)=>t-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.time.displayFormats,a=this._unit,r=this._majorUnit,l=a&&o[a],h=r&&o[r],c=i[e],d=r&&h&&c&&c.major,u=this._adapter.format(t,s||(d?h:l)),f=n.ticks.callback;return f?Q(f,[u,e,i],this):u}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=Et(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,ca(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(ra(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return de(t.sort(aa))}}function ua(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=oe(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=oe(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}da.id="time",da.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class fa extends da{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ua(e,this.min),this._tableRange=ua(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(ua(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return ua(this._table,i*this._tableRange+this._minPos,!0)}}fa.id="timeseries",fa.defaults=da.defaults;var ga=Object.freeze({__proto__:null,CategoryScale:jo,LinearScale:Uo,LogarithmicScale:qo,RadialLinearScale:sa,TimeScale:da,TimeSeriesScale:fa});return an.register(Cn,ga,Jn,No),an.helpers={...Hi},an._adapters=dn,an.Animation=ls,an.Animations=cs,an.animator=a,an.controllers=zs.controllers.items,an.DatasetController=ws,an.Element=Ms,an.elements=Jn,an.Interaction=Te,an.layouts=ei,an.platforms=os,an.Scale=Es,an.Ticks=Ss,Object.assign(an,Cn,ga,Jn,No,os),an.Chart=an,"undefined"!=typeof window&&(window.Chart=an),an}));
          
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        2. GET https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (399 bytes)
          GET https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css HTTP/1.1
          Host: cdnjs.cloudflare.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (1092 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Cache-Control: public, max-age=30672000
          ETag: W/"613fa20b-3171"
          Last-Modified: Mon, 13 Sep 2021 19:10:03 GMT
          cf-cdnjs-via: cfworker/kv
          Cross-Origin-Resource-Policy: cross-origin
          Timing-Allow-Origin: *
          X-Content-Type-Options: nosniff
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          CF-Cache-Status: HIT
          Age: 25129
          Expires: Sat, 31 Dec 2022 02:28:27 GMT
          Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=JJIIXtieJQYBe8ZhOUbu9BXV3sgHF7PfxosL3kwbYBew60wUjB0W5CeSYBudXWcB%2Friw%2FHdtFSRqGPzM7oku3ek5%2FqoS7WxQV4Mep549K9fUBD3s4HKgfHqpHsdeFMLeFDSvsa1E"}],"group":"cf-nel","max_age":604800}
          NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
          Strict-Transport-Security: max-age=15780000
          Server: cloudflare
          CF-RAY: 6cb278d61d62fc61-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (59305 bytes)
          /*!
           * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com
           * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
           */
          .fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900}
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    5. https://fonts.googleapis.com (3)

      1. Cross-Domain Misconfiguration (3)
        1. GET https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (412 bytes)
          GET https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap HTTP/1.1
          Host: fonts.googleapis.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (750 bytes)
          HTTP/1.1 200 OK
          Content-Type: text/css; charset=utf-8
          Access-Control-Allow-Origin: *
          Timing-Allow-Origin: *
          Link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
          Strict-Transport-Security: max-age=31536000
          Expires: Mon, 10 Jan 2022 02:28:27 GMT
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Cache-Control: private, max-age=86400
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy: same-origin-allow-popups
          Server: ESF
          X-XSS-Protection: 0
          X-Frame-Options: SAMEORIGIN
          X-Content-Type-Options: nosniff
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          Accept-Ranges: none
          Vary: Accept-Encoding
          
          
          Response body (3846 bytes)
          /* vietnamese */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 300;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp9s8WRL2l2eY.woff2) format('woff2');
            unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
          }
          /* latin-ext */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 300;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp9s8WRP2l2eY.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 300;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp9s8WR32lw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          /* vietnamese */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 400;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp4U8WRL2l2eY.woff2) format('woff2');
            unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
          }
          /* latin-ext */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 400;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp4U8WRP2l2eY.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 400;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp4U8WR32lw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          /* vietnamese */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 700;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp2I7WRL2l2eY.woff2) format('woff2');
            unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
          }
          /* latin-ext */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 700;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp2I7WRP2l2eY.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Inconsolata';
            font-style: normal;
            font-weight: 700;
            font-stretch: normal;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/inconsolata/v21/QldgNThLqRwH-OJ1UHjlKENVzkWGVkL3GZQmAwLYxYWI2qfdm7Lpp2I7WR32lw.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        2. GET https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (407 bytes)
          GET https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap HTTP/1.1
          Host: fonts.googleapis.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (750 bytes)
          HTTP/1.1 200 OK
          Content-Type: text/css; charset=utf-8
          Access-Control-Allow-Origin: *
          Timing-Allow-Origin: *
          Link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
          Strict-Transport-Security: max-age=31536000
          Expires: Mon, 10 Jan 2022 02:28:27 GMT
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Cache-Control: private, max-age=86400
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy: same-origin-allow-popups
          Server: ESF
          X-XSS-Protection: 0
          X-Frame-Options: SAMEORIGIN
          X-Content-Type-Options: nosniff
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          Accept-Ranges: none
          Vary: Accept-Encoding
          
          
          Response body (2179 bytes)
          /* latin-ext */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 300;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCJW8zZmW5O7w.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 300;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCJW8zaGW5.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          /* latin-ext */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 400;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDfZG1Wl4LcnbuKgE0mV0Q.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 400;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDfZG1Wl4LcnbuKjk0m.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          /* latin-ext */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 700;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzZmW5O7w.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Oxygen';
            font-style: normal;
            font-weight: 700;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/oxygen/v10/2sDcZG1Wl4LcnbuCNWgzaGW5.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        3. GET https://fonts.googleapis.com/css2?family=Righteous&display=swap
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (393 bytes)
          GET https://fonts.googleapis.com/css2?family=Righteous&display=swap HTTP/1.1
          Host: fonts.googleapis.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (750 bytes)
          HTTP/1.1 200 OK
          Content-Type: text/css; charset=utf-8
          Access-Control-Allow-Origin: *
          Timing-Allow-Origin: *
          Link: <https://fonts.gstatic.com>; rel=preconnect; crossorigin
          Strict-Transport-Security: max-age=31536000
          Expires: Mon, 10 Jan 2022 02:28:27 GMT
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Cache-Control: private, max-age=86400
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy: same-origin-allow-popups
          Server: ESF
          X-XSS-Protection: 0
          X-Frame-Options: SAMEORIGIN
          X-Content-Type-Options: nosniff
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          Accept-Ranges: none
          Vary: Accept-Encoding
          
          
          Response body (739 bytes)
          /* latin-ext */
          @font-face {
            font-family: 'Righteous';
            font-style: normal;
            font-weight: 400;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/righteous/v9/1cXxaUPXBpj2rGoU7C9WhnGFucE.woff2) format('woff2');
            unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
          }
          /* latin */
          @font-face {
            font-family: 'Righteous';
            font-style: normal;
            font-weight: 400;
            font-display: swap;
            src: url(https://fonts.gstatic.com/s/righteous/v9/1cXxaUPXBpj2rGoU7C9WiHGF.woff2) format('woff2');
            unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
          }
          
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    6. https://cdn.jsdelivr.net (2)

      1. Cross-Domain Misconfiguration (2)
        1. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (426 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (884 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"28021-7Ba9Gb9K6bwuIzasQJpQO7varK0"
          X-Served-By: cache-fra19180-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586870
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d449aefc5d-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (163873 bytes)
          @charset "UTF-8";/*!
           * Bootstrap v5.1.3 (https://getbootstrap.com/)
           * Copyright 2011-2021 The Bootstrap Authors
           * Copyright 2011-2021 Twitter, Inc.
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
           */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
          /*# sourceMappingURL=bootstrap.min.css.map */
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        2. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (417 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (898 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Content-Type: application/javascript; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"13131-qF5oFiTJGhBqUUwx6s+A3oF7LMM"
          X-Served-By: cache-fra19169-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586871
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d4de6890d9-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (78129 bytes)
          /*!
            * Bootstrap v5.1.3 (https://getbootstrap.com/)
            * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
            * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
            */
          !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function S(t,e,i){const n="string"==typeof e,s=n?i:e;let o=P(t);return k.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),C.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e<i.length;e++)if(Number.parseInt(i[e].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute("aria-current","true");break}}}_updateInterval(){const t=this._activeElement||V.findOne(nt,this._element);if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(t,e){const i=this._directionToOrder(t),n=V.findOne(nt,this._element),s=this._getItemIndex(n),o=e||this._getItemByOrder(i,n),r=this._getItemIndex(o),a=Boolean(this._interval),l=i===Q,c=l?"carousel-item-start":"carousel-item-end",h=l?"carousel-item-next":"carousel-item-prev",d=this._orderToDirection(i);if(o&&o.classList.contains(it))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(o),this._activeElement=o;const f=()=>{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;e<i;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot="collapse",rt={toggle:!0,parent:null},at={toggle:"boolean",parent:"(null|element)"},lt="show",ct="collapse",ht="collapsing",dt="collapsed",ut=":scope .collapse .collapse",ft='[data-bs-toggle="collapse"]';class pt extends B{constructor(t,e){super(t),this._isTransitioning=!1,this._config=this._getConfig(e),this._triggerArray=[];const n=V.find(ft);for(let t=0,e=n.length;t<e;t++){const e=n[t],s=i(e),o=V.find(s).filter((t=>t===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t<e;t++){const e=this._triggerArray[t],i=n(e);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Rt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var fe={passive:!0};const pe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=Ut(C),L=ce(C)===wt,x=[mt,gt].indexOf(k)>=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function We(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Be:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u=function(t){var e=He(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(Re(e,i)){a.rects={reference:Me(e,te(i),"fixed"===a.options.strategy),popper:Kt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var $e=We(),ze=We({defaultModifiers:[pe,Pe,ue,Ft]}),qe=We({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe=Object.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue="dropdown",Ve="Escape",Ke="Space",Xe="ArrowUp",Ye="ArrowDown",Qe=new RegExp("ArrowUp|ArrowDown|Escape"),Ge="click.bs.dropdown.data-api",Ze="keydown.bs.dropdown.data-api",Je="show",ti='[data-bs-toggle="dropdown"]',ei=".dropdown-menu",ii=m()?"top-end":"top-start",ni=m()?"top-start":"top-end",si=m()?"bottom-end":"bottom-start",oi=m()?"bottom-start":"bottom-end",ri=m()?"left-start":"right-start",ai=m()?"right-start":"left-start",li={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},ci={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class hi extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if(j.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=hi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach((t=>j.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;i<n;i++){const n=hi.getInstance(e[i]);if(!n||!1===n._config.autoClose)continue;if(!n._isShown())continue;const s={relatedTarget:n._element};if(t){const e=t.composedPath(),i=e.includes(n._menu);if(e.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;"click"===t.type&&(s.clickEvent=t)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key===Ke||t.key!==Ve&&(t.key!==Ye&&t.key!==Xe||t.target.closest(ei)):!Qe.test(t.key))return;const e=this.classList.contains(Je);if(!e&&t.key===Ve)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i=this.matches(ti)?this:V.prev(this,ti)[0],n=hi.getOrCreateInstance(i);if(t.key!==Ve)return t.key===Xe||t.key===Ye?(e||n.show(),void n._selectMenuItem(t)):void(e&&t.key!==Ke||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top";class fi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",(e=>e+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=s.length;t<i;t++){const i=s[t],n=i.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o=[].concat(...i.attributes),r=[].concat(e["*"]||[],e[n]||[]);o.forEach((t=>{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(t){this._activeTarget=t,this._clear();const e=wn.split(",").map((e=>`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));
          //# sourceMappingURL=bootstrap.bundle.min.js.map
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

    7. http://localhost:3000 (20)

      1. CSP: Wildcard Directive (3)
        1. GET http://localhost:3000/assets
          Alert tags
          Alert description

          The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined:

          frame-ancestors, form-action

          The directive(s): frame-ancestors, form-action are among the directives that do not fallback to default-src, missing/excluding them is the same as allowing anything.

          Request
          Request line and header section (202 bytes)
          GET http://localhost:3000/assets HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (300 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 179
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (179 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/">/assets/</a></pre>
          </body>
          </html>
          
          Evidence
          default-src 'self'
          Solution

          Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.

        2. GET http://localhost:3000/assets/images
          Alert tags
          Alert description

          The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined:

          frame-ancestors, form-action

          The directive(s): frame-ancestors, form-action are among the directives that do not fallback to default-src, missing/excluding them is the same as allowing anything.

          Request
          Request line and header section (209 bytes)
          GET http://localhost:3000/assets/images HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (307 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 193
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/images/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (193 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/images/">/assets/images/</a></pre>
          </body>
          </html>
          
          Evidence
          default-src 'self'
          Solution

          Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.

        3. GET http://localhost:3000/assets/stylesheets
          Alert tags
          Alert description

          The following directives either allow wildcard sources (or ancestors), are not defined, or are overly broadly defined:

          frame-ancestors, form-action

          The directive(s): frame-ancestors, form-action are among the directives that do not fallback to default-src, missing/excluding them is the same as allowing anything.

          Request
          Request line and header section (214 bytes)
          GET http://localhost:3000/assets/stylesheets HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (312 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 203
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/stylesheets/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (203 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/stylesheets/">/assets/stylesheets/</a></pre>
          </body>
          </html>
          
          Evidence
          default-src 'self'
          Solution

          Ensure that your web server, application server, load balancer, etc. is properly configured to set the Content-Security-Policy header.

      2. Cross-Domain Misconfiguration (4)
        1. GET http://localhost:3000/api
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (256 bytes)
          GET http://localhost:3000/api HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/main.488cd5f42661da5d.js
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        2. GET http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        3. GET http://localhost:3000/api/swagger.json
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (242 bytes)
          GET http://localhost:3000/api/swagger.json HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json,*/*
          
          
          Request body (0 bytes)
          Response
          Status line and header section (419 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Content-Type: application/json; charset=utf-8
          Content-Length: 20818
          ETag: W/"5152-qZKO2OsezHfwyMV10btqZucI+kw"
          Date: Mon, 10 Jan 2022 02:20:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (20818 bytes)
          {"openapi":"3.0.0","info":{"title":"JobHub","version":"1.0.0","description":"JobHub REST API"},"license":{"name":"GNU LGPLv3","url":"https://choosealicense.com/licenses/lgpl-3.0"},"contact":{"name":"Rok Mokotar","url":"","email":"rm6551@student.uni-lj.si"},"servers":[{"url":"http://localhost:3000/api"},{"url":"https://jobhub-sp.herokuapp.com/api"}],"paths":{"/sign-in":{"post":{"summary":"Sign in new user","description":"Sign in user with email and password","tags":["Authentication"],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/SignIn"}}}},"responses":{"200":{"description":"Successful sign in, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No email or password provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-user":{"post":{"summary":"Sign up new user (user role = USER)","description":"Sign up new user with required credentials","tags":["Authentication"],"requestBody":{"description":"User sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserSignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-company":{"post":{"summary":"Sign up new company (user role = COMPANY)","description":"Sign up new company with required credentials","tags":["Authentication"],"requestBody":{"description":"Company sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CompanySignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/db-insert":{"post":{"summary":"Fill database with seeds","tags":["Database"],"security":[{"jwt":[]}],"responses":{"200":{"description":"Database filled with seeds."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Empty the database","tags":["Database"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Database successfully emptied."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/token-decode":{"get":{"summary":"Decode JWT token and return user payload","tags":["Other"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User payload returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPayload"}}}},"400":{"description":"Undefined access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/deleteJobOffer/{id}":{"delete":{"summary":"Delete specific job offer","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/delete/{id}":{"delete":{"summary":"Delete specific user","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboards":{"get":{"summary":"Get a list of all users","tags":["Admin"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Deletion successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"User which is not ADMIN wants to get a list of all user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/resume-preview":{"get":{"summary":"Get user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get resume successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to get a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-resume":{"post":{"summary":"Create user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Resume successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to create a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/job-preview":{"get":{"summary":"Get company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get job offer successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to get a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-job":{"post":{"summary":"Create company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Job offer successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to create a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/user-profile":{"put":{"summary":"Update user profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"401":{"description":"User which is not USER wants to update a USER.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/company-profile":{"put":{"summary":"Update company profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Company profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyProfile"}}}},"401":{"description":"User which is not COMPANY wants to update a COMPANY.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users":{"get":{"summary":"Get all users","tags":["User"],"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"User created","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/User"}}}},"responses":{"200":{"description":"Created user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"responses":{"200":{"description":"Updated user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{email}":{"get":{"summary":"Get specific user","tags":["User"],"parameters":[{"in":"path","name":"email","description":"user email","schema":{"type":"string"},"required":true,"example":"arthur.dent@galaxy.com"}],"responses":{"200":{"description":"User returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{id}":{"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers":{"get":{"summary":"Get all job offers","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Job offers returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Job offer created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Created job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers/{id}":{"get":{"summary":"Get specific user","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"Job offer updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Updated job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/results":{"post":{"summary":"Get all users","tags":["Other"],"security":[{"jwt":[]}],"requestBody":{"description":"Add result","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Result"}}}},"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"401":{"description":"Result is not created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs":{"get":{"summary":"Get all resumes","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Resumes returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resumes not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Resume created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Created resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs/{id}":{"get":{"summary":"Get specific resume","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Updated resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Resume deleted","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume deleted."},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}}},"components":{"schemas":{"UserRole":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"Industry":{"type":"object","properties":{"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name"]},"Country":{"type":"object","properties":{"name":{"type":"string"},"country":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name","country"]},"Gender":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"JobOffer":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"expectations":{"type":"array","items":{"type":"string"}},"other":{"type":"string"},"active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["title","description","expectations"]},"Resume":{"type":"object","properties":{"about":{"type":"string"},"education":{"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"type":"string"}},"projects":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["about"]},"Result":{"type":"object","properties":{"result":{"type":"number"},"shown_id":{"type":"string"}},"required":["result","shown_id"]},"User":{"type":"object","properties":{"user_role":{"type":"UserRole"},"first_name":{"type":"string"},"last_name":{"type":"string"},"username":{"type":"string"},"gender":{"type":"Gender"},"email":{"type":"string"},"phone_number":{"type":"string"},"country":{"type":"string"},"industry":{"type":"array","items":{"type":"Industry"}},"date_of_birth":{"type":"string","format":"date-time"},"resume":{"type":"Resume"},"job_offers":{"type":"array","items":{"type":"JobOffer"}},"results":{"type":"array","items":{"type":"Result"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"hashed_value":{"type":"string"},"random_value":{"type":"string"}},"required":["key","user_role","email","hashed_value","random_value"]},"ErrorMessage":{"type":"object","properties":{"message":{"type":"string"}}},"AccessToken":{"type":"object","properties":{"access_token":{"type":"string"}},"required":["access_token"]},"UserPayload":{"type":"object","properties":{"_id":{"type":"string"},"email":{"type":"string"},"user_role":{"type":"string"}},"required":["_id","email","user_role"]},"SignIn":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"UserSignUp":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanySignUp":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"UserProfile":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"gender":{"type":"string"},"date_of_birth":{"type":"string","format":"date-time"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanyProfile":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]}},"securitySchemes":{"jwt":{"type":"http","scheme":"bearer","in":"header","bearerFormat":"JWT"}}},"tags":[{"name":"Authentication","description":"User Control"},{"name":"Database","description":"Database Control"},{"name":"Resume and Job Offer","description":"User Resume and Job Offer Control"},{"name":"Profile","description":"User Profile Control"},{"name":"Admin","description":"Admin User Control"},{"name":"User","description":"User Control"},{"name":"Other"}]}
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

        4. POST http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          Web browser data loading may be possible, due to a Cross Origin Resource Sharing (CORS) misconfiguration on the web server

          Other info

          The CORS misconfiguration on the web server permits cross-domain read requests from arbitrary third party domains, using unauthenticated APIs on this domain. Web browser implementations do not permit arbitrary third parties to read the response from authenticated APIs, however. This reduces the risk somewhat. This misconfiguration could be used by an attacker to access data that is available in an unauthenticated manner, but which uses some other form of security, such as IP address white-listing.

          Request
          Request line and header section (312 bytes)
          POST http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 40
          
          
          Request body (40 bytes)
          email=foo-bar%40example.com&password=ZAP
          Response
          Status line and header section (424 bytes)
          HTTP/1.1 401 Unauthorized
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Content-Type: application/json; charset=utf-8
          Content-Length: 34
          ETag: W/"22-fYOKD8GWpg1GphMsnIl7SAJvvMo"
          Date: Mon, 10 Jan 2022 02:20:18 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (34 bytes)
          {"message":"User does not exist!"}
          Evidence
          Access-Control-Allow-Origin: *
          Solution

          Ensure that sensitive data is not available in an unauthenticated manner (using IP address white-listing, for instance).

          Configure the "Access-Control-Allow-Origin" HTTP header to a more restrictive set of domains, or remove all CORS headers entirely, to allow the web browser to enforce the Same Origin Policy (SOP) in a more restrictive manner.

      3. Missing Anti-clickjacking Header (13)
        1. GET http://localhost:3000
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (195 bytes)
          GET http://localhost:3000 HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        2. GET http://localhost:3000/
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (196 bytes)
          GET http://localhost:3000/ HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        3. GET http://localhost:3000/admin-dashboard
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/admin-dashboard HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        4. GET http://localhost:3000/api
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (256 bytes)
          GET http://localhost:3000/api HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/main.488cd5f42661da5d.js
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        5. GET http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        6. GET http://localhost:3000/job-preview
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/job-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        7. GET http://localhost:3000/resume-preview
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (210 bytes)
          GET http://localhost:3000/resume-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        8. GET http://localhost:3000/robots.txt
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (206 bytes)
          GET http://localhost:3000/robots.txt HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        9. GET http://localhost:3000/sign-in
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (203 bytes)
          GET http://localhost:3000/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        10. GET http://localhost:3000/sign-up-company
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/sign-up-company HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        11. GET http://localhost:3000/sign-up-user
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/sign-up-user HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        12. GET http://localhost:3000/sitemap.xml
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/sitemap.xml HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

        13. GET http://localhost:3000/token-decode
          Alert tags
          Alert description

          The response does not include either Content-Security-Policy with 'frame-ancestors' directive or X-Frame-Options to protect against 'ClickJacking' attacks.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/token-decode HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Frame-Options
          Solution

          Modern Web browsers support the Content-Security-Policy and X-Frame-Options HTTP headers. Ensure one of them is set on all web pages returned by your site/app.

          If you expect the page to be framed only by pages on your server (e.g. it's part of a FRAMESET) then you'll want to use SAMEORIGIN, otherwise if you never expect the page to be framed, you should use DENY. Alternatively consider implementing Content Security Policy's "frame-ancestors" directive.

  2. Risk=Low, Confidence=Medium (70)

    1. https://contile.services.mozilla.com (2)

      1. Incomplete or No Cache-control Header Set (1)
        1. GET https://contile.services.mozilla.com/v1/tiles
          Alert tags
          Alert description

          The cache-control header has not been set properly or is missing, allowing the browser and proxies to cache content.

          Request
          Request line and header section (331 bytes)
          GET https://contile.services.mozilla.com/v1/tiles HTTP/1.1
          Host: contile.services.mozilla.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (201 bytes)
          HTTP/1.1 200 OK
          Server: nginx
          Date: Mon, 10 Jan 2022 02:29:05 GMT
          Content-Type: application/json
          Content-Length: 12
          Strict-Transport-Security: max-age=31536000
          Via: 1.1 google
          Alt-Svc: clear
          
          
          Response body (12 bytes)
          {"tiles":[]}
          Parameter
          Cache-Control
          Solution

          Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate.

      2. X-Content-Type-Options Header Missing (1)
        1. GET https://contile.services.mozilla.com/v1/tiles
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (331 bytes)
          GET https://contile.services.mozilla.com/v1/tiles HTTP/1.1
          Host: contile.services.mozilla.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (201 bytes)
          HTTP/1.1 200 OK
          Server: nginx
          Date: Mon, 10 Jan 2022 02:29:05 GMT
          Content-Type: application/json
          Content-Length: 12
          Strict-Transport-Security: max-age=31536000
          Via: 1.1 google
          Alt-Svc: clear
          
          
          Response body (12 bytes)
          {"tiles":[]}
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

    2. https://api.jokes.one (3)

      1. Incomplete or No Cache-control Header Set (1)
        1. GET https://api.jokes.one/jod
          Alert tags
          Alert description

          The cache-control header has not been set properly or is missing, allowing the browser and proxies to cache content.

          Request
          Request line and header section (392 bytes)
          GET https://api.jokes.one/jod HTTP/1.1
          Host: api.jokes.one
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/json, text/plain, */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (515 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:28 GMT
          Server: Apache
          Access-Control-Allow-Origin: *
          Vary: Accept,User-Agent
          X-Auth-Status: true
          X-RateLimit-Limit: 10 per hour
          X-RateLimit-Remaining: 10
          Cache-Control: private, max-age=43200, pre-check=86400, post-check=43200
          Expires: Mon, 10 Jan 2022 14:28:28 GMT
          X-Powered-By: Luracast Restler v3.0.0rc3
          Content-Language: en-US
          Upgrade: h2
          Connection: Upgrade, Keep-Alive
          Keep-Alive: timeout=2, max=100
          Content-Type: application/json; charset=utf-8
          
          
          Response body (451 bytes)
          {"success":{"total":1},"contents":{"jokes":[{"description":"Joke of the day ","language":"en","background":"","category":"jod","date":"2022-01-10","joke":{"title":"Mushroom Love","lang":"en","length":"108","clean":"0","racial":"0","date":"2022-01-10","id":"hMq_icIuuv7GinUBCFevvgeF","text":"Q: What did one mushroom say to the other on Valentine's Day?\r\nA: \"There's so mushroom in my heart for you!\""}}],"copyright":"2019-20 https:\/\/jokes.one"}}
          Parameter
          Cache-Control
          Evidence
          private, max-age=43200, pre-check=86400, post-check=43200
          Solution

          Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate.

      2. Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) (1)
        1. GET https://api.jokes.one/jod
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (392 bytes)
          GET https://api.jokes.one/jod HTTP/1.1
          Host: api.jokes.one
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/json, text/plain, */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (515 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:28 GMT
          Server: Apache
          Access-Control-Allow-Origin: *
          Vary: Accept,User-Agent
          X-Auth-Status: true
          X-RateLimit-Limit: 10 per hour
          X-RateLimit-Remaining: 10
          Cache-Control: private, max-age=43200, pre-check=86400, post-check=43200
          Expires: Mon, 10 Jan 2022 14:28:28 GMT
          X-Powered-By: Luracast Restler v3.0.0rc3
          Content-Language: en-US
          Upgrade: h2
          Connection: Upgrade, Keep-Alive
          Keep-Alive: timeout=2, max=100
          Content-Type: application/json; charset=utf-8
          
          
          Response body (451 bytes)
          {"success":{"total":1},"contents":{"jokes":[{"description":"Joke of the day ","language":"en","background":"","category":"jod","date":"2022-01-10","joke":{"title":"Mushroom Love","lang":"en","length":"108","clean":"0","racial":"0","date":"2022-01-10","id":"hMq_icIuuv7GinUBCFevvgeF","text":"Q: What did one mushroom say to the other on Valentine's Day?\r\nA: \"There's so mushroom in my heart for you!\""}}],"copyright":"2019-20 https:\/\/jokes.one"}}
          Evidence
          X-Powered-By: Luracast Restler v3.0.0rc3
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

      3. X-Content-Type-Options Header Missing (1)
        1. GET https://api.jokes.one/jod
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (392 bytes)
          GET https://api.jokes.one/jod HTTP/1.1
          Host: api.jokes.one
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: application/json, text/plain, */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (515 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:28 GMT
          Server: Apache
          Access-Control-Allow-Origin: *
          Vary: Accept,User-Agent
          X-Auth-Status: true
          X-RateLimit-Limit: 10 per hour
          X-RateLimit-Remaining: 10
          Cache-Control: private, max-age=43200, pre-check=86400, post-check=43200
          Expires: Mon, 10 Jan 2022 14:28:28 GMT
          X-Powered-By: Luracast Restler v3.0.0rc3
          Content-Language: en-US
          Upgrade: h2
          Connection: Upgrade, Keep-Alive
          Keep-Alive: timeout=2, max=100
          Content-Type: application/json; charset=utf-8
          
          
          Response body (451 bytes)
          {"success":{"total":1},"contents":{"jokes":[{"description":"Joke of the day ","language":"en","background":"","category":"jod","date":"2022-01-10","joke":{"title":"Mushroom Love","lang":"en","length":"108","clean":"0","racial":"0","date":"2022-01-10","id":"hMq_icIuuv7GinUBCFevvgeF","text":"Q: What did one mushroom say to the other on Valentine's Day?\r\nA: \"There's so mushroom in my heart for you!\""}}],"copyright":"2019-20 https:\/\/jokes.one"}}
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

    3. https://content-signature-2.cdn.mozilla.net (1)

      1. X-Content-Type-Options Header Missing (1)
        1. GET https://content-signature-2.cdn.mozilla.net/chains/remote-settings.content-signature.mozilla.org-2022-02-09-08-32-01.chain
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (418 bytes)
          GET https://content-signature-2.cdn.mozilla.net/chains/remote-settings.content-signature.mozilla.org-2022-02-09-08-32-01.chain HTTP/1.1
          Host: content-signature-2.cdn.mozilla.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Sec-Fetch-Dest: empty
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (505 bytes)
          HTTP/1.1 200 OK
          Content-Type: binary/octet-stream
          Content-Length: 5348
          Connection: keep-alive
          Last-Modified: Tue, 21 Dec 2021 08:32:03 GMT
          Content-Disposition: attachment
          Accept-Ranges: bytes
          Server: AmazonS3
          Date: Mon, 10 Jan 2022 01:31:51 GMT
          ETag: "553bad03a71ebf0385b301b3ab672be9"
          X-Cache: Hit from cloudfront
          Via: 1.1 17c1f7944e7f0a7a5535cc3cecf1da08.cloudfront.net (CloudFront)
          X-Amz-Cf-Pop: ZAG50-C1
          X-Amz-Cf-Id: gv-zfiPM9AaRxZINrqVHu0y2iPcYBLGOdd6WbTfP-ZeXzKnb4LsiEA==
          Age: 3396
          
          
          Response body (5348 bytes)
          -----BEGIN CERTIFICATE-----
          MIIDBTCCAougAwIBAgIIFsK3/22OkMMwCgYIKoZIzj0EAwMwgaMxCzAJBgNVBAYT
          AlVTMRwwGgYDVQQKExNNb3ppbGxhIENvcnBvcmF0aW9uMS8wLQYDVQQLEyZNb3pp
          bGxhIEFNTyBQcm9kdWN0aW9uIFNpZ25pbmcgU2VydmljZTFFMEMGA1UEAww8Q29u
          dGVudCBTaWduaW5nIEludGVybWVkaWF0ZS9lbWFpbEFkZHJlc3M9Zm94c2VjQG1v
          emlsbGEuY29tMB4XDTIxMTEyMTA4MzIwMVoXDTIyMDIwOTA4MzIwMVowgakxCzAJ
          BgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1Nb3VudGFp
          biBWaWV3MRwwGgYDVQQKExNNb3ppbGxhIENvcnBvcmF0aW9uMRcwFQYDVQQLEw5D
          bG91ZCBTZXJ2aWNlczE2MDQGA1UEAxMtcmVtb3RlLXNldHRpbmdzLmNvbnRlbnQt
          c2lnbmF0dXJlLm1vemlsbGEub3JnMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEUzg5
          y4xMo96V67v0FA5ECjOy3df6+Vytltf19eZRCiFlTLmUnNm8nsnZsdbas8z/gU3M
          jhcq3YreC1VU0965oWgj0DqMt/4Jp/CM7qE0wXSWT+6+WWWpdOp5br9H4zmfo4GD
          MIGAMA4GA1UdDwEB/wQEAwIHgDATBgNVHSUEDDAKBggrBgEFBQcDAzAfBgNVHSME
          GDAWgBSgHUoXT4zCKzVF8WPx2nBwp8744TA4BgNVHREEMTAvgi1yZW1vdGUtc2V0
          dGluZ3MuY29udGVudC1zaWduYXR1cmUubW96aWxsYS5vcmcwCgYIKoZIzj0EAwMD
          aAAwZQIxANrNhKvV/DdVS/BDw+PGPJNjEArw9PA30fG0zVu2QT+3MsiKq/SOflM1
          dlBTlpPCZQIwRq4WbCqrj8Iolw8O7JcVmI+PnauGdiP9WAeACM8TSeQ90fqaI7Bg
          4p2kcsRXLvNY
          -----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----
          MIIFfzCCA2egAwIBAgIDEAAJMA0GCSqGSIb3DQEBDAUAMH0xCzAJBgNVBAYTAlVT
          MRwwGgYDVQQKExNNb3ppbGxhIENvcnBvcmF0aW9uMS8wLQYDVQQLEyZNb3ppbGxh
          IEFNTyBQcm9kdWN0aW9uIFNpZ25pbmcgU2VydmljZTEfMB0GA1UEAxMWcm9vdC1j
          YS1wcm9kdWN0aW9uLWFtbzAiGA8yMDIwMTIzMTAwMDAwMFoYDzIwMjUwMzE0MjI1
          MzU3WjCBozELMAkGA1UEBhMCVVMxHDAaBgNVBAoTE01vemlsbGEgQ29ycG9yYXRp
          b24xLzAtBgNVBAsTJk1vemlsbGEgQU1PIFByb2R1Y3Rpb24gU2lnbmluZyBTZXJ2
          aWNlMUUwQwYDVQQDDDxDb250ZW50IFNpZ25pbmcgSW50ZXJtZWRpYXRlL2VtYWls
          QWRkcmVzcz1mb3hzZWNAbW96aWxsYS5jb20wdjAQBgcqhkjOPQIBBgUrgQQAIgNi
          AAQklaclq89BKPcYIfUdVS4JF/pZxjTVOlYVdj4QJ5xopHAngXkUggYkkHj0tmZV
          EcrXrCVq1qEtB/k7wXXkU4HN9rX7WcUkksClDJmUQ2qabzP7i20q3epGNq57RE2p
          3hKjggGJMIIBhTAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAWBgNVHSUB
          Af8EDDAKBggrBgEFBQcDAzAdBgNVHQ4EFgQUoB1KF0+Mwis1RfFj8dpwcKfO+OEw
          gagGA1UdIwSBoDCBnYAUs7zqWHSr4W54KrKrnCMeqGMsl7ehgYGkfzB9MQswCQYD
          VQQGEwJVUzEcMBoGA1UEChMTTW96aWxsYSBDb3Jwb3JhdGlvbjEvMC0GA1UECxMm
          TW96aWxsYSBBTU8gUHJvZHVjdGlvbiBTaWduaW5nIFNlcnZpY2UxHzAdBgNVBAMT
          FnJvb3QtY2EtcHJvZHVjdGlvbi1hbW+CAQEwMwYJYIZIAYb4QgEEBCYWJGh0dHA6
          Ly9hZGRvbnMuYWxsaXpvbS5vcmcvY2EvY3JsLnBlbTBOBgNVHR4ERzBFoEMwIIIe
          LmNvbnRlbnQtc2lnbmF0dXJlLm1vemlsbGEub3JnMB+CHWNvbnRlbnQtc2lnbmF0
          dXJlLm1vemlsbGEub3JnMA0GCSqGSIb3DQEBDAUAA4ICAQALeUuF/7hcmM/LFnK6
          6a5lBQk5z5JBr2bNNvKVs/mtdIcVKcxjWxOBM5rorZiM5UWE7BmAm8E7gFCCq30y
          ZnNn6BO04z5LtDRHxa3IGhgECloyOJUSi9xxFxe5p5wJzFdArl7happSOUwOi+z2
          aDqS6uTJWubIY4Uz7h7S2UkUm52CTYnvpioS7eQoovvrlUsgIhkkIwDQnu7RWSej
          6nkc5o5SNwAJWsQvxIko32AxhvPmmtv1T/mtXY488TJ0VoBZ6lRkJJIxIJ48pGHJ
          +YRt1tzO2aqCEs9pNPGWfhrpcDc2mu4fvlSX1elWYiGrpQBVbdEJlDkGAD0AC8on
          /7ybD2pEdh7pViVLV78Md+DNNquqqNhRJpn65k4lhvgDLHYvLNOrrtAmcmQonNdU
          OSumIuqcGk7dm/7gr9lrwAm8V8/GwDyzTgi4wNA4vwln3c7iMFGLL/b2piEQCSl+
          mqL1LeWJV+8rkbi8l2T0QIBwjDgR97ZxpLPwmUdDNiGAWeEFxn0jU9CQtQKjOj84
          VPZUM7aSHhVQ0bQpnjua7IWvLKK7F2fOo3PmuLacnnfyrzr2C/Le5k6EK/0q2cKf
          P6JzDWwt8werc6E3C6z3jbUdAwgNpv/fGz8gQBPf7NeiYkqMUNB2Z3aF8He8Jg15
          Abv+2+rSOLpBsTU67AHzMKJ8hw==
          -----END CERTIFICATE-----
          -----BEGIN CERTIFICATE-----
          MIIGYTCCBEmgAwIBAgIBATANBgkqhkiG9w0BAQwFADB9MQswCQYDVQQGEwJVUzEc
          MBoGA1UEChMTTW96aWxsYSBDb3Jwb3JhdGlvbjEvMC0GA1UECxMmTW96aWxsYSBB
          TU8gUHJvZHVjdGlvbiBTaWduaW5nIFNlcnZpY2UxHzAdBgNVBAMTFnJvb3QtY2Et
          cHJvZHVjdGlvbi1hbW8wHhcNMTUwMzE3MjI1MzU3WhcNMjUwMzE0MjI1MzU3WjB9
          MQswCQYDVQQGEwJVUzEcMBoGA1UEChMTTW96aWxsYSBDb3Jwb3JhdGlvbjEvMC0G
          A1UECxMmTW96aWxsYSBBTU8gUHJvZHVjdGlvbiBTaWduaW5nIFNlcnZpY2UxHzAd
          BgNVBAMTFnJvb3QtY2EtcHJvZHVjdGlvbi1hbW8wggIgMA0GCSqGSIb3DQEBAQUA
          A4ICDQAwggIIAoICAQC0u2HXXbrwy36+MPeKf5jgoASMfMNz7mJWBecJgvlTf4hH
          JbLzMPsIUauzI9GEpLfHdZ6wzSyFOb4AM+D1mxAWhuZJ3MDAJOf3B1Rs6QorHrl8
          qqlNtPGqepnpNJcLo7JsSqqE3NUm72MgqIHRgTRsqUs+7LIPGe7262U+N/T0LPYV
          Le4rZ2RDHoaZhYY7a9+49mHOI/g2YFB+9yZjE+XdplT2kBgA4P8db7i7I0tIi4b0
          B0N6y9MhL+CRZJyxdFe2wBykJX14LsheKsM1azHjZO56SKNrW8VAJTLkpRxCmsiT
          r08fnPyDKmaeZ0BtsugicdipcZpXriIGmsZbI12q5yuwjSELdkDV6Uajo2n+2ws5
          uXrP342X71WiWhC/dF5dz1LKtjBdmUkxaQMOP/uhtXEKBrZo1ounDRQx1j7+SkQ4
          BEwjB3SEtr7XDWGOcOIkoJZWPACfBLC3PJCBWjTAyBlud0C5n3Cy9regAAnOIqI1
          t16GU2laRh7elJ7gPRNgQgwLXeZcFxw6wvyiEcmCjOEQ6PM8UQjthOsKlszMhlKw
          vjyOGDoztkqSBy/v+Asx7OW2Q7rlVfKarL0mREZdSMfoy3zTgtMVCM0vhNl6zcvf
          5HNNopoEdg5yuXo2chZ1p1J+q86b0G5yJRMeT2+iOVY2EQ37tHrqUURncCy4uwIB
          A6OB7TCB6jAMBgNVHRMEBTADAQH/MA4GA1UdDwEB/wQEAwIBBjAWBgNVHSUBAf8E
          DDAKBggrBgEFBQcDAzCBkgYDVR0jBIGKMIGHoYGBpH8wfTELMAkGA1UEBhMCVVMx
          HDAaBgNVBAoTE01vemlsbGEgQ29ycG9yYXRpb24xLzAtBgNVBAsTJk1vemlsbGEg
          QU1PIFByb2R1Y3Rpb24gU2lnbmluZyBTZXJ2aWNlMR8wHQYDVQQDExZyb290LWNh
          LXByb2R1Y3Rpb24tYW1vggEBMB0GA1UdDgQWBBSzvOpYdKvhbngqsqucIx6oYyyX
          tzANBgkqhkiG9w0BAQwFAAOCAgEAaNSRYAaECAePQFyfk12kl8UPLh8hBNidP2H6
          KT6O0vCVBjxmMrwr8Aqz6NL+TgdPmGRPDDLPDpDJTdWzdj7khAjxqWYhutACTew5
          eWEaAzyErbKQl+duKvtThhV2p6F6YHJ2vutu4KIciOMKB8dslIqIQr90IX2Usljq
          8Ttdyf+GhUmazqLtoB0GOuESEqT4unX6X7vSGu1oLV20t7t5eCnMMYD67ZBn0YIU
          /cm/+pan66hHrja+NeDGF8wabJxdqKItCS3p3GN1zUGuJKrLykxqbOp/21byAGog
          Z1amhz6NHUcfE6jki7sM7LHjPostU5ZWs3PEfVVgha9fZUhOrIDsyXEpCWVa3481
          LlAq3GiUMKZ5DVRh9/Nvm4NwrTfB3QkQQJCwfXvO9pwnPKtISYkZUqhEqvXk5nBg
          QCkDSLDjXTx39naBBGIVIqBtKKuVTla9enngdq692xX/CgO6QJVrwpqdGjebj5P8
          5fNZPABzTezG3Uls5Vp+4iIWVAEDkK23cUj3c/HhE+Oo7kxfUeu5Y1ZV3qr61+6t
          ZARKjbu1TuYQHf0fs+GwID8zeLc2zJL7UzcHFwwQ6Nda9OJN4uPAuC/BKaIpxCLL
          26b24/tRam4SJjqpiq20lynhUrmTtt6hbG3E1Hpy3bmkt2DYnuMFwEx2gfXNcnbT
          wNuvFqc=
          -----END CERTIFICATE-----
          
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

    4. https://jobhub-sp.herokuapp.com (6)

      1. Application Error Disclosure (1)
        1. POST https://jobhub-sp.herokuapp.com/api/sign-up-company
          Alert tags
          Alert description

          This page contains an error/warning message that may disclose sensitive information like the location of the file that produced the unhandled exception. This information can be used to launch further attacks against the web application. The alert could be a false positive if the error message is found inside a documentation page.

          Request
          Request line and header section (340 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-up-company HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 110
          
          
          Request body (110 bytes)
          username=username&email=foo-bar%40example.com&industry=industry&password=ZAP&confirm_password=confirm_password
          Response
          Status line and header section (263 bytes)
          HTTP/1.1 500 Internal Server Error
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 36
          Etag: W/"24-z7AhxeITqJBvBfvy2FgzssE8/ug"
          Date: Mon, 10 Jan 2022 02:20:33 GMT
          Via: 1.1 vegur
          
          
          Response body (36 bytes)
          {"message":"Company already exists"}
          Evidence
          HTTP/1.1 500 Internal Server Error
          Solution

          Review the source code of this page. Implement custom error pages. Consider implementing a mechanism to provide a unique error reference/identifier to the client (browser) while logging the details on the server side and not exposing them to the user.

      2. Incomplete or No Cache-control Header Set (1)
        1. POST https://jobhub-sp.herokuapp.com/api/sign-up-user
          Alert tags
          Alert description

          The cache-control header has not been set properly or is missing, allowing the browser and proxies to cache content.

          Request
          Request line and header section (337 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-up-user HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 134
          
          
          Request body (134 bytes)
          first_name=first_name&last_name=last_name&email=foo-bar%40example.com&industry=industry&password=ZAP&confirm_password=confirm_password
          Response
          Status line and header section (251 bytes)
          HTTP/1.1 201 Created
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 534
          Etag: W/"216-Ecw9QhGjHO+D2LFZTZvFg5pVLKA"
          Date: Mon, 10 Jan 2022 02:20:33 GMT
          Via: 1.1 vegur
          
          
          Response body (534 bytes)
          {"user_role":{"key":"USER","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899787"},"first_name":"first_name","last_name":"last_name","email":"foo-bar@example.com","industry":[{"name":"industry","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899788"}],"password":"ZAP","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899786","job_offers":[],"results":[],"__v":0}
          Parameter
          Cache-Control
          Solution

          Whenever possible ensure the cache-control HTTP header is set with no-cache, no-store, must-revalidate.

      3. Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) (3)
        1. POST https://jobhub-sp.herokuapp.com/api/sign-in
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (331 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-in HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 40
          
          
          Request body (40 bytes)
          email=foo-bar%40example.com&password=ZAP
          Response
          Status line and header section (251 bytes)
          HTTP/1.1 404 Not Found
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 44
          Etag: W/"2c-oVjZZ8sC/mcRedmmmuH99B40pV0"
          Date: Mon, 10 Jan 2022 02:20:24 GMT
          Via: 1.1 vegur
          
          
          Response body (44 bytes)
          {"message":"Invalid user email or password"}
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        2. POST https://jobhub-sp.herokuapp.com/api/sign-up-company
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (340 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-up-company HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 110
          
          
          Request body (110 bytes)
          username=username&email=foo-bar%40example.com&industry=industry&password=ZAP&confirm_password=confirm_password
          Response
          Status line and header section (263 bytes)
          HTTP/1.1 500 Internal Server Error
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 36
          Etag: W/"24-z7AhxeITqJBvBfvy2FgzssE8/ug"
          Date: Mon, 10 Jan 2022 02:20:33 GMT
          Via: 1.1 vegur
          
          
          Response body (36 bytes)
          {"message":"Company already exists"}
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        3. POST https://jobhub-sp.herokuapp.com/api/sign-up-user
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (337 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-up-user HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 134
          
          
          Request body (134 bytes)
          first_name=first_name&last_name=last_name&email=foo-bar%40example.com&industry=industry&password=ZAP&confirm_password=confirm_password
          Response
          Status line and header section (251 bytes)
          HTTP/1.1 201 Created
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 534
          Etag: W/"216-Ecw9QhGjHO+D2LFZTZvFg5pVLKA"
          Date: Mon, 10 Jan 2022 02:20:33 GMT
          Via: 1.1 vegur
          
          
          Response body (534 bytes)
          {"user_role":{"key":"USER","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899787"},"first_name":"first_name","last_name":"last_name","email":"foo-bar@example.com","industry":[{"name":"industry","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899788"}],"password":"ZAP","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899786","job_offers":[],"results":[],"__v":0}
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

      4. X-Content-Type-Options Header Missing (1)
        1. POST https://jobhub-sp.herokuapp.com/api/sign-up-user
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (337 bytes)
          POST https://jobhub-sp.herokuapp.com/api/sign-up-user HTTP/1.1
          Host: jobhub-sp.herokuapp.com
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 134
          
          
          Request body (134 bytes)
          first_name=first_name&last_name=last_name&email=foo-bar%40example.com&industry=industry&password=ZAP&confirm_password=confirm_password
          Response
          Status line and header section (251 bytes)
          HTTP/1.1 201 Created
          Server: Cowboy
          Connection: keep-alive
          X-Powered-By: Express
          Content-Type: application/json; charset=utf-8
          Content-Length: 534
          Etag: W/"216-Ecw9QhGjHO+D2LFZTZvFg5pVLKA"
          Date: Mon, 10 Jan 2022 02:20:33 GMT
          Via: 1.1 vegur
          
          
          Response body (534 bytes)
          {"user_role":{"key":"USER","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899787"},"first_name":"first_name","last_name":"last_name","email":"foo-bar@example.com","industry":[{"name":"industry","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899788"}],"password":"ZAP","created_at":"2022-01-10T02:20:33.138Z","updated_at":"2022-01-10T02:20:33.138Z","_id":"61db97f15d518f1dc1899786","job_offers":[],"results":[],"__v":0}
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

    5. http://localhost:3000 (58)

      1. Cross-Domain JavaScript Source File Inclusion (13)
        1. GET http://localhost:3000
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (195 bytes)
          GET http://localhost:3000 HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        2. GET http://localhost:3000/
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (196 bytes)
          GET http://localhost:3000/ HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        3. GET http://localhost:3000/admin-dashboard
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/admin-dashboard HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        4. GET http://localhost:3000/api
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (256 bytes)
          GET http://localhost:3000/api HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/main.488cd5f42661da5d.js
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        5. GET http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        6. GET http://localhost:3000/job-preview
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/job-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        7. GET http://localhost:3000/resume-preview
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (210 bytes)
          GET http://localhost:3000/resume-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        8. GET http://localhost:3000/robots.txt
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (206 bytes)
          GET http://localhost:3000/robots.txt HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        9. GET http://localhost:3000/sign-in
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (203 bytes)
          GET http://localhost:3000/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        10. GET http://localhost:3000/sign-up-company
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/sign-up-company HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        11. GET http://localhost:3000/sign-up-user
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/sign-up-user HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        12. GET http://localhost:3000/sitemap.xml
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/sitemap.xml HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

        13. GET http://localhost:3000/token-decode
          Alert tags
          Alert description

          The page includes one or more script files from a third-party domain.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/token-decode HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Evidence
          <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          Solution

          Ensure JavaScript source files are loaded from only trusted sources, and the sources can't be controlled by end users of the application.

      2. Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s) (25)
        1. GET http://localhost:3000
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (195 bytes)
          GET http://localhost:3000 HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        2. GET http://localhost:3000/
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (196 bytes)
          GET http://localhost:3000/ HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        3. GET http://localhost:3000/admin-dashboard
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/admin-dashboard HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        4. GET http://localhost:3000/api
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (256 bytes)
          GET http://localhost:3000/api HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/main.488cd5f42661da5d.js
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        5. GET http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        6. GET http://localhost:3000/api/swagger.json
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (242 bytes)
          GET http://localhost:3000/api/swagger.json HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json,*/*
          
          
          Request body (0 bytes)
          Response
          Status line and header section (419 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Content-Type: application/json; charset=utf-8
          Content-Length: 20818
          ETag: W/"5152-qZKO2OsezHfwyMV10btqZucI+kw"
          Date: Mon, 10 Jan 2022 02:20:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (20818 bytes)
          {"openapi":"3.0.0","info":{"title":"JobHub","version":"1.0.0","description":"JobHub REST API"},"license":{"name":"GNU LGPLv3","url":"https://choosealicense.com/licenses/lgpl-3.0"},"contact":{"name":"Rok Mokotar","url":"","email":"rm6551@student.uni-lj.si"},"servers":[{"url":"http://localhost:3000/api"},{"url":"https://jobhub-sp.herokuapp.com/api"}],"paths":{"/sign-in":{"post":{"summary":"Sign in new user","description":"Sign in user with email and password","tags":["Authentication"],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/SignIn"}}}},"responses":{"200":{"description":"Successful sign in, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No email or password provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-user":{"post":{"summary":"Sign up new user (user role = USER)","description":"Sign up new user with required credentials","tags":["Authentication"],"requestBody":{"description":"User sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserSignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-company":{"post":{"summary":"Sign up new company (user role = COMPANY)","description":"Sign up new company with required credentials","tags":["Authentication"],"requestBody":{"description":"Company sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CompanySignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/db-insert":{"post":{"summary":"Fill database with seeds","tags":["Database"],"security":[{"jwt":[]}],"responses":{"200":{"description":"Database filled with seeds."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Empty the database","tags":["Database"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Database successfully emptied."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/token-decode":{"get":{"summary":"Decode JWT token and return user payload","tags":["Other"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User payload returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPayload"}}}},"400":{"description":"Undefined access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/deleteJobOffer/{id}":{"delete":{"summary":"Delete specific job offer","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/delete/{id}":{"delete":{"summary":"Delete specific user","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboards":{"get":{"summary":"Get a list of all users","tags":["Admin"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Deletion successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"User which is not ADMIN wants to get a list of all user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/resume-preview":{"get":{"summary":"Get user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get resume successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to get a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-resume":{"post":{"summary":"Create user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Resume successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to create a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/job-preview":{"get":{"summary":"Get company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get job offer successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to get a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-job":{"post":{"summary":"Create company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Job offer successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to create a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/user-profile":{"put":{"summary":"Update user profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"401":{"description":"User which is not USER wants to update a USER.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/company-profile":{"put":{"summary":"Update company profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Company profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyProfile"}}}},"401":{"description":"User which is not COMPANY wants to update a COMPANY.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users":{"get":{"summary":"Get all users","tags":["User"],"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"User created","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/User"}}}},"responses":{"200":{"description":"Created user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"responses":{"200":{"description":"Updated user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{email}":{"get":{"summary":"Get specific user","tags":["User"],"parameters":[{"in":"path","name":"email","description":"user email","schema":{"type":"string"},"required":true,"example":"arthur.dent@galaxy.com"}],"responses":{"200":{"description":"User returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{id}":{"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers":{"get":{"summary":"Get all job offers","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Job offers returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Job offer created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Created job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers/{id}":{"get":{"summary":"Get specific user","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"Job offer updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Updated job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/results":{"post":{"summary":"Get all users","tags":["Other"],"security":[{"jwt":[]}],"requestBody":{"description":"Add result","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Result"}}}},"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"401":{"description":"Result is not created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs":{"get":{"summary":"Get all resumes","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Resumes returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resumes not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Resume created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Created resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs/{id}":{"get":{"summary":"Get specific resume","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Updated resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Resume deleted","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume deleted."},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}}},"components":{"schemas":{"UserRole":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"Industry":{"type":"object","properties":{"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name"]},"Country":{"type":"object","properties":{"name":{"type":"string"},"country":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name","country"]},"Gender":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"JobOffer":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"expectations":{"type":"array","items":{"type":"string"}},"other":{"type":"string"},"active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["title","description","expectations"]},"Resume":{"type":"object","properties":{"about":{"type":"string"},"education":{"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"type":"string"}},"projects":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["about"]},"Result":{"type":"object","properties":{"result":{"type":"number"},"shown_id":{"type":"string"}},"required":["result","shown_id"]},"User":{"type":"object","properties":{"user_role":{"type":"UserRole"},"first_name":{"type":"string"},"last_name":{"type":"string"},"username":{"type":"string"},"gender":{"type":"Gender"},"email":{"type":"string"},"phone_number":{"type":"string"},"country":{"type":"string"},"industry":{"type":"array","items":{"type":"Industry"}},"date_of_birth":{"type":"string","format":"date-time"},"resume":{"type":"Resume"},"job_offers":{"type":"array","items":{"type":"JobOffer"}},"results":{"type":"array","items":{"type":"Result"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"hashed_value":{"type":"string"},"random_value":{"type":"string"}},"required":["key","user_role","email","hashed_value","random_value"]},"ErrorMessage":{"type":"object","properties":{"message":{"type":"string"}}},"AccessToken":{"type":"object","properties":{"access_token":{"type":"string"}},"required":["access_token"]},"UserPayload":{"type":"object","properties":{"_id":{"type":"string"},"email":{"type":"string"},"user_role":{"type":"string"}},"required":["_id","email","user_role"]},"SignIn":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"UserSignUp":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanySignUp":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"UserProfile":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"gender":{"type":"string"},"date_of_birth":{"type":"string","format":"date-time"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanyProfile":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]}},"securitySchemes":{"jwt":{"type":"http","scheme":"bearer","in":"header","bearerFormat":"JWT"}}},"tags":[{"name":"Authentication","description":"User Control"},{"name":"Database","description":"Database Control"},{"name":"Resume and Job Offer","description":"User Resume and Job Offer Control"},{"name":"Profile","description":"User Profile Control"},{"name":"Admin","description":"Admin User Control"},{"name":"User","description":"User Control"},{"name":"Other"}]}
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        7. GET http://localhost:3000/assets
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (202 bytes)
          GET http://localhost:3000/assets HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (300 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 179
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (179 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/">/assets/</a></pre>
          </body>
          </html>
          
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        8. GET http://localhost:3000/assets/images
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (209 bytes)
          GET http://localhost:3000/assets/images HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (307 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 193
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/images/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (193 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/images/">/assets/images/</a></pre>
          </body>
          </html>
          
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        9. GET http://localhost:3000/assets/images/favicon.ico
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (254 bytes)
          GET http://localhost:3000/assets/images/favicon.ico HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/
          
          
          Request body (0 bytes)
          Response
          Status line and header section (309 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"19d21-17e41c1b2e7"
          Content-Type: image/x-icon
          Content-Length: 105761
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (105761 bytes)
           ³f€€ (@@ (BA 00 ¨%ib   ¨ˆ h¹˜‰PNG
          
          
          IHDR\r¨fzIDATxÚíÝylœçaçñïóÎg†÷%Š:©Û’eùR[¾ªt“lR×YoôØ.Úb³»Hc·›î	ì_{,ÐÝl¶)Š…Ýº(m“EÐ EÖµ“º‘c9Ž-É:M‰¢$’âÍáp†s½ïûì)¯Iæ1äÌp~à%røò™!ßß<ïs‚ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆHu2«úîã_nóJ¥V/öã=f†Çké5â•~’r{-ÖÒ-›-ôZËÑ0¤Ç§‚ Òŧä°\R`΂ 8aÞ}ib5'.ëÑÇ¿l€hC±Ø´†Eÿ>,-ÆxÛÁô=@–$¼J¿zrg>&Áǒ5‹G‡µx´YhÇÒk!Ž%i+]âºä1X€}ºÀë“´÷a
          ì
          ,JáP0_Zrz//Ü㛀cÀa¬ý-÷Ó|ë$««ZÈzÈCH¸õ‹¸_ò6k¹/´<„<†l¶îs²îbÇ^÷+²÷»O€1`ø:м¾ð¹ÜRO¾äë4vìKŸ¶˜íÀÏØ	tp/Ë
          ©bîÞ­ÝZ:,¶î¶àY?`{hÙ­ ¨y \&¬}¸nÞý£K9Ár.Ü{ÈbþÐ4TúÙËځ,5†aSÖ£ÇÂ&$iPTÄÂq?öã@XR|d
           vì¹_žÇUE"Kù>Ù8ÌÂ
          CžB¾T
          Ø© ¨6€"Ö|
          xÛ¼ûÂ7îö
          w¬Ä{®Ø…å °÷Ž©ô3”õgŽ˜ÂpÙÎz†¬…C¡B ŠÜ5mp×ì¼=ò…ûAóî‹éÛ}ÃÝnö¿<¹ðo®x†+^„¢1ìC~¯èWºHòÓ"û,pKðUàÛ?ð6bǞû%à	ài\מúòåò¦¡KØ¢Š@5ŠbèŠÿaóÑÍÿqüís?ý€Ûû®
          ±¿ÒÏ@ªÓ1Ì`8éy4ؐ‡PT¡Vw˜‡àÏ?ü€4æÅýÒã@ÆüoÜ=¬ÒÏ@ª—Áý‘<„<ë<„lQÃ`5*¹Ãþk ßœù£¿Yü‚«<úÅîbߎëÛO¢Q|ò,nœê„Kžá“!øVƒBªÐbïÝ=@Î>ø›Q 0§^²‹yèŘÏ`Ìo n>Y†‹žÇŸF#CÖèO§Jy`~ÌÏÍ,ät âyÀ#-†(jŠçâ
          1¶tµÒÝÞL{sÏsٞ+ÉJ\&_(1›Yò(Ñ%óqÊßö<,ŸÕD¢j•¶zŸN#Qã›qÿ–âC<eKW{·w³­§ƒhÄ@jnžÙLžt6ϬɯIÇecˆyðY]ÿÕ*l.# vì¹Ïÿ× ¨!ÿìÙ'س­›gž<Bsc‚ÆDÏ`*q¡µ„ÖR*LÎføæ«ïð£3œ<w•L®@XƁ<ÝÖ²ÅZ¾Ÿ/Ñ$Ô XrÀ4ðe¼àÿF#ǞïÛt VÿšÑÛÕJgkwõÒ×ÛÉÖî6bQbwn‚‹Å"ØÙCjnžl®À™+Ãäò%‚0,K™²À,†n²H¢Ò/’ÜNhZ½–(𔅇
          l©tÉdé~á“ñ?È£Gv-­Ý½½9É/}ê(O=´Ÿ±é4ÿô?ÿ)#SÌÍçËR¦œ1¤±ô{†­ÖÒ®
          @5ŠÍXv`½ýžÁîz+]*Yš®¶&žyâ¿·=ÛºoÝë/GKcœ­Ým<ñÐ>ŽÙ]ÖòùÎ{7ÕP݌݉	ïóÀîÛUéòÈÒ´5'9~ô÷íÙʎÍD¼å@S2֎ŽìãÛËZ¾À¸ÆÀ	@µëÅØ}Q0‡p­ÿRå¶t·qxïV~ýéGIÆWß\óìÏ<Àƒ¶ó·?égx2ÅðxjÕçô7#†­Ë­þ' ¦U¶ø!ä‹P(‚¯îˆ;3ûÁtE6ãÚl¤Êu·7ÓÝÖL[s²,çknŒÓޒdsW+³Ùòt†@È/w(IG‹»ø·¬²2š/ÂtÆS07_–ç´A5~Ô¸ájý¯Ÿ~ä‡v•·¹¦1ÑÀñ£û)ù>—®­ú|!pÓf—{ð³á>xæÑÕ`lÞ8ÿç‡ðNY_«
          ¦hŽâzk´ÐG
          èéh¡³µ©¬çŒxí-$ÊpK±(oZ% ê5‘Ő°©½™ÎÖòÞ­yž¡­9I¢¡<`Y\©R€U.Ä4㯆dræóŲžÓó<Zw@$— †øA€_î‰6ÖRòÂ2”Ú¢¨!™ùóùRYÏY(ù\º6Êd*Sé§' z_
          ¹24Ic¢¼Û1”ü€ë£Ók2KPªŸ †ôß§eµe>¤ä\žb&­>óz¤¨!g.c¼}ñ:Û7wÐÓѲªóMÌd¸vsš×Þé'¯å½ë’ÚjH6W`&=ÏàÍiRs9ü`e
          wahñƒ›“³O¤Herä‹åm[Ú ¨1#“ü»ßÿß=q–áñÁ
          B Í3<žâ_~å/ø·ÿë[•~JRAº¨1A’Îæyóü AòkŸý-	š’Ý8è!©¹yN½7Äéþ!nNΒÉ*ý”¤‚5ÆBfÒó¼úã‹üøü Ǐ`Û¦ö¥€021Ë«o]ä/^y›‘‰YJš1W×5*Í“Íùâý:]mM|ìP»·v±­§Mí-D
          ™›Ï“Íyí~&f2œî¿ÁÄL†ÉÙ̊ÛdãPÔ(?ñƒÓýC´7'‰E#ä‹%rÅÙ\ñVÌfrÌÍ8ýÞcÓsœ¹<Té¢KQl©LŽï½qžï½q¾ÒE‘£^‘:¦©c
          ‘:¦6€åyo•+ï¡,ÚÀ§~)jԞ­ÝlÛÔ¾ªs\º6F6_,ÛÆ R{5&ây$ã1ŽìÛÆÇõ­ê\cÓs5¨®)jL4êÑÕÞÄӏßǯ?½ºt_yëi½û×55ŠÔ1€HSˆÔ1µH}2"4D!d,îe†îBÈæ!´ïnQH}ò<HÆ¡­ÉíIØÛé>ncÑÅ%ÒòE¸6…"µ§1î6ÝÚ
          -pp§{Çoo†ØB
           Ñp«àj££‚æó0“ô<ŒOC&—oÂøL¤*ýìVE _4êvîëq!ðø}М„®Ö¥Ÿc"Ós00â>¦s©ý•”²1µ7»‹ýßÿô´Áþï¿Ã¯dõ¦vwØîþÿ«æ²nòWOÁÍ)øÁi÷ÿږ\ K,â.þƒ; µº[¡¥	¼2mVºhˆAcvö¸v„Ù,ŒÎÀØ´Û¦¼TýK­+dciLÀþmpd·»¿oN®ì)’qwÐ]ìÇî…3îøÎ0[ýÛ­)dc‰E¡½Åuñyfí.þ‹DÜÏ=²vôÀî-0:
          ùšëU¨Ò՗²±D<×ê¿Þ<ã~nc¶uæ6¸1ß=	åÞѹœÅ®tD6¤Míî6äþüæß‡ýÛ!«t©~Š@d-ãnZ›Ü-Áý{\Wd²µ“»Ð-€ÈZ‰xn¬Á'„ÇC:WF`àf¥Kv‹j"kmq¤áçƒ_|ÊuS&>z'§õ YkÏõN½½×uU6TG{€@d½4ÆÝ ¡ÿùüâ“nŒB¤²— @d½,6v¶ºÉI»·T¼& YOºÛܨÁ/|΍¨ €H%t´¸±}½nÒR…(D*¡¥¶o‚Þ7a©B"•ôsÀ/<U±¯@R‚ÐÍÞKÏ»¥¾|J·öH[œDopӋ[Ýځ±5¸\:[ÝD¡¦„+C±´®/…@êO®àfê½ü¸>ã)7qÑÏxÌ]ð{·º1ýOÝ¿P]ï,Yvõºuõ¹5nŒ¯ëK¡ú1°°ŽßOރTú‡`vÞ­ù—Í¿_ˆFÜ¡¥®»€ØÕëfù=rȽ[7%ÊW®†˜ tê²@dÍ܇ó×à[ç.úù˜£?vÏ^…½ÛÜ ž}[ÝíAY 
          í«È£
          ÙØ²y·çŸ½
          —‡]Õ?“{Õߥº>#“î"ÝÙÿüç]W^{óêË‹Â}»áâuhJB¾àÚ)ց@6¶©Yw?8êªò³Ù•§ä»ã攫޹­ïï'°RƸÉA	w¾RiÝ@݀²±}ë‡ðÝ7àÜ ÌÌ­þ|Si÷Nýß¾¯YØ5¨Lko|ü7G`(dcº9
          —nÀ»pu´¼çC·ôwÿœ8¹byÎ۔t£×q~€ndcr-øï¸¾þr
          þ¿øØ=åilNÂÖ.×(¸NTéâ
          øÁ)ð×ð^zà¦ûÓéò¬úÛÖäfÆ×o±€l,ւ¸Æ¾ñÔû}ûk¡Pr£	Óó®-`µ¢W“XÇ5²±Jn°Ïåa׿[z¿~Þ¸°úó4& §Ý
          ?^'
          ÙX‚Ðõóûë¸-×l¦<»E<׸^›™ F@ÙhüÀUÉ×s_¾é4t”a@PÄ[ØÑH·"+S(¹Ñzåêš[Š™Œ;j@6k¡è/¨ïj„áú´5¬€Èjuµº£)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)D꘠Žå
          %rå^3_jŠ ŽÍ¤³Ì¤W¸WžlZ´Æ4D#ljo&_ùöQ%? ä„k¹f¾ÔÕjŒçy4%âD£+_;>CŠ~°¦{fHmP
           Æ4%ãÙ·î¶•/CšË1>“¦ä•~:RaªԘ†h„Þî6“+ß?®äÌçKXUêž Æ´4%xäð.z;W¾
          m6_d|f?¨Í¥¬¥|tPC:[›èíj垾ʹ®b;êÉT†Kׯ(®çî9R•5¤1Ù@[s’ÞU®AŸ™/0:•V
          @µäkÿæWØÙÛ¹êó\æÄé+Ìç×qû,©J
          €ÐÝÞLKc‚Í]-t´$W|žÐZŠEŸL®@j.GX£ÛYIù(jÀ'îÝÅÑC;¹§¯—¦ÄÊ[ÿ}?dlzŽc3OTúiIPT±®¶&9¼›Ï=~˜ì#[ùà€|±Ä™ËCŒO§+ýÔ¤J(ªXkS‚£‡vò±ƒ}=´sÕç+–|oN‘Êä*ýÔ¤J(ªL2Þ@C,Âù­ÏÓ×Ûɓî£!Vž_Ót:Ëß>ÁDîe/å§X±hÏ3wüºµ†!žça4%ˆF#4%ØÔÑBKc‚=Ûºéíj¥)/K™ÆgæJ3“ž'¯)À²@°Ú[i¼KcŠ[$™h !áþ½[éjoâȾm»o7ûvôÐ֜ijŒŸzwßûÑ9ÎŽ2:¥ûyŸ Œbš’q~ùSG9²oÛڐ’xD<îö&’ñÝíÍléj#o(Ûş+”ÈJœ<7HÿñJ¿DRee‹DhmJðéGñ¹ÇWº8Š%ÒÙ<g¯ŒpudªÒő*£Øà^?3À+?¾Ä¥kc¤æÔú/¤Ø J~Àd*ÃõÑi†'ÉKù'¢Ø &S^øö	^}ë'N_©tq¤J)6 s#\žäûo]âÚÍéJGª˜`ºtmŒ³#üPïüòÈف®MðŸ^ü.cêï—%Pl%? •Éqíæ®Ž221Kjn¾ÒÅZžÙŒÏÀ•‘՝g*
          ã)Xϵ²y˜É¬¾ì‹Ö±ì
          €
          `lzŽ?þ«×yùͼñîÕJge¾ó#÷ñ«ß¬tI–ïäwüåßVº$Ëò@XùN²îr…ŒÏË'/pc|†¿;u™áñT¥‹…â@­8\åJ@°15%W(1—Íó—ÂõÑiN½w£ÒEº%a­ª–Õ¯”¢F´M•.‘Ü]f¾ÀøÌ¯üø"ožäÂà(ï]§P¬žÙ}Qà@hÙ¬
          @µÁ2Ò¢å›w&åZ‹ïK¥ `db–›“³\åâÂ17_¨ª
          >Ð$uPÝ,óÀlìI`˜•.“|Ð|®È•á	Î\fpdо}‚¹ù<™ùB¥‹vGà jÕÏØ!°—£`.XùFs²lahݽA@†Š>Œëʛ›Ï“/”¸:2ÅÜ|žcÓܜL3Î’Í(•ª{?¿ˆ…ÖÒQEµ¹­)07¢XscW¿Ø¼,Y†ä
          %rù"Eßg6›#Í30<ō±¦g³üõÎ1—Í3VcxF°ì	CºUΌb¹b¼'~g›†Ÿ1Ö~H ±+æy†X4®-]t´4Þñq¡µ„¡%C¬?	‚BɧPôñƒ€Ô\Ž kjßNkéµðý|¸…ÆÕŸRÊ/6ü.Ö¼
          £ÞœWç€YÜ-œ`…ÂÐR(ú\º6Vé¢TDЎ¥CoþÕ¬¤€óî‹Ó?øJš0<o­}ÐìY±ãAÈç}­9P它÷çà
          ÁâöàÆ¤0æ40To³T¥Ü»ÿnkÙ§{ÿj–ÆÀ^;àÇc~<ö}`кQ²,qÜýÿýaÈÃZu¨ZY°Ó`¯á'ñ‚)xÿ~ß2À«À4ðÛ,ÖD>¡0ä3AÈÁв)T
           JY,‚á0ŠkX€|Å>Ǟ’h~€,ÁUÿ»­þÛf]m@ªNiáxː9õR~ñ·=öüïû
          ö™J—\ªWðOü€'ƒgk¨»²ýÐoμø¯>ü…;uù4®‘à °7YHä–íÖÒc-!}ªöW«…F?ÞÎßî·Ýo:zó\dû'fmº”x<´<†ün)`‹Zþ«ÕpøsæÅWn÷€»
          ú¹üw‹¹<`°?ÏCêÇ^k9Z¾PòÙ­¿ZÀw€ÓÀ7Á;=ðŽPzãkiàLôØó÷âFupm>îÐv —Áý±t-ôõ¶–ªúW‹»øK@?pÁœyñÌݾaÉrìÑ/ýcàÆü# Í ¬-ÖÒeá·}Ÿ‡Bˁúú«Pì<˜¯ƒ¹`μðûKù¦åŒû¿ŠK—¿ö›€]¸®ÂD¥Ÿ½”ÁýR;­¥ÛÂÁ0¤ÛÂ=¡e“ªýÕÄ_8ú)àðîÞI–U•O<úÅ$°9 ò¸Åì7Æþ*n˜Í•~%¤|< ÕZކ–ǐ_öCz­¥U•± Þçðü—¬9õҒ׈[îÌ¿"0¼†ëZxè²ð€­`;-f®‹¸×¸6
          &ªRIkÝ;=n0OµCÚ,ì²îÝ~‹µlµ×Å_)%°E0)Ü0ýKÀ8–ACÀp×å—ÅÕ–lՍy‘cÏo7Ø»ÕbíÀ>ãFjpX•j±–°ÕÂNkÙZއ!›¬å`辖Ѕ_i°90£¸‹ýu`ÐœÂ¯à…isê¥ÙJRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD¤lþ ˆØÀdIEND®B`‚(€ l9j9Bk9bk9zk9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€j7'€i5b€e1¼€d/ó€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€b.ÿzc.ÿhc.ÿ@c-ÿ`0ÿh8k8)k9rk9²k9Õk9ëk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk8ÿj8%ÿi6Dÿg4qÿe1Éÿc.úÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc.ÿïc.ÿÔc.ÿ´c.ÿzc.ÿ!`0ÿj8]k9Êk9ðk9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7(ÿg4wÿd/æÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿòb.ÿÒc.ÿjk8l9…k9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Kÿd0Ûÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc.ÿ…c.ÿl9k8‹k9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Fÿd0Ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿóc.ÿ‹c.ÿk9k9{k9êk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5_ÿd/äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿêc.ÿwb-ÿp@k:Ek9ßk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿg3ÿc/öÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ×b.ÿG`0ÿj8k9˜k9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi7@ÿe0Ïÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿšd.ÿl:8k9òk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrBÿ{O!ÿ{O!ÿ{O!ÿ{O!ÿzMÿyLÿvHÿsCÿm<ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿf3—ÿc.üÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿéb.ÿ,k9qk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿþþýÿöóðÿîéãÿÞÓÇÿdzŸÿŸ]ÿˆ`6ÿwIÿl:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5Yÿd/ãÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ{k9¹k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨Œmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüüÿçà×ÿ®™ÿ˜uQÿuGÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj75ÿe0Ðÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ³k9çk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿëäÝÿİ›ÿ‚W+ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Àÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿák9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúùÿÞÓÇÿ”oJÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1·ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿêãÜÿ €_ÿn=
          ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ°”ÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿÏ¿ÿÿtEÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿzLÿÿͼÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿ»¤ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨Œmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìæàÿ €^ÿo?ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÒÿ•pKÿm;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØË½ÿzNÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿV)ÿ¢‚aÿ¢‚aÿ¢‚aÿ¡_ÿ|Yÿ«qÿÆ´ ÿðëæÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúøÿ¬sÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿm<	ÿm<	ÿm<	ÿm<ÿl;ÿo>ÿsDÿV)ÿÔÆ·ÿýüûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíçàÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿsCÿ¼¥ÿ÷ôñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúøöÿ°–zÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿyKÿïšÿûúøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýÿÓĵÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŠb8ÿàÖËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÝÓÿ‡^3ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=	ÿ¹¢‰ÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðëæÿ €^ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ—tPÿïéãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷õòÿ¯•yÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ€U)ÿæÞÕÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüüÿ½¦ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿİ›ÿn<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÚÎÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿuFÿÿÐÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéâÿÿzMÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿTÿÿÚÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿÁ¬ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøõÿÿŒeÿÿc/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ“nÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¸ ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼¥ÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿl:ÿÿ·Ÿÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõñÿÿ¦ˆÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóïÿÿ‘lÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿd0ÿÿŽhÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëåÿÿfÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâØÿÿƒYÿÿf2ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿf2ÿÿ…[ÿÿäÛÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÒÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíçÿÿªÿÿ~Rÿÿn=ÿÿh4ÿÿh5ÿÿm;ÿÿyKÿÿ¢‚ÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿ°•ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿßÔÿÿ½§ÿÿ­‘ÿÿ®’ÿÿº£ÿÿÙÍÿÿúøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêãÿÿuFÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±–ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÝÿÿyKÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòîÿÿ—sÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿðëÿÿ¡ÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿíçÿÿ¨‹ÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðëÿÿ ÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöôÿÿ÷ôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷õÿÿξÿÿjÿÿh4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÑÿÿ—sÿÿàÕÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúøÿÿÙÌÿÿž}ÿÿtEÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿg4ÿÿjÿÿ¿©ÿÿàÕÿÿéâÿÿíçÿÿíæÿÿìåÿÿéáÿÿÓÄÿÿ²˜ÿÿVÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿg3ÿÿtEÿÿƒYÿÿ‚Wÿÿ}QÿÿqAÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<	ÿ™wSÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ‘lFÿp?
          ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<	ÿ†]2ÿ™vRÿž|Zÿ—tOÿ|P"ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿtEÿ»£‹ÿÝÑÅÿíçàÿñìçÿìåÞÿÓĵÿ¥‡hÿqBÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿtEÿÀ«•ÿù÷õÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿðêåÿ®“vÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿ°•yÿöòïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõñíÿ¢‚bÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿW+ÿÙÍÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·¥ÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ“nHÿèàØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÖËÿƒZ.ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ˜uQÿìæßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÞÕÿ†]2ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9õk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿkDÿæÝÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜÑÄÿW+ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1¹ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿõk9Ëk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuGÿͼªÿþþýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿ¾§‘ÿuFÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿrBÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿyLÿÿf2ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÖj9–k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ“nIÿæÞÕÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿÙÌ¿ÿ‡^4ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Jÿd0Ûÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ“l9Qk9÷k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ €_ÿâÙÏÿüûúÿÿÿÿÿÿÿÿÿÿÿÿÿýüûÿÚÎÁÿšxUÿm<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿg4wÿc/òÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc-ÿOk9k9Æk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŽhAÿ·ž…ÿÐÁ±ÿÖɺÿϾ­ÿ¶ƒÿˆ`6ÿm<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8"ÿf2«ÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿËb.ÿ#i9
          j9tk9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿqBÿ}R$ÿ€V)ÿ|P"ÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5Yÿd/éÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿùc.ÿpb.ÿh8j8&k9³k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7$ÿe1³ÿc.þÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿ»b.ÿ*`0ÿk98k9Âk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿf2¦ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿÂd-ÿ8k:Ck9Ãk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8!ÿf3“ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿÃc-ÿCk98k9¼k9ùk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi79ÿf2Ÿÿc.÷ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿôc.ÿ´d-ÿ8j9+k:qk9Ìk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8)ÿg4wÿe1Æÿc.÷ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ÷c.ÿÇb-ÿtb-ÿ'p@k;l;#j9Ok9”k:Øk9õk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7)ÿi5Vÿg2•ÿd/ßÿc/ñÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿõc-ÿÍc-ÿ–a-ÿRc.ÿa,ÿ
          `(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøàÀ€Ààðøøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(@€ @h8k8'k9xk9°k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿j7)¿g3„¿d/ë¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ³c.ÿxc.ÿ(`0ÿk8k9wk9îk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7+ÿe1Ãÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿðc.ÿzc.ÿk9k9k9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Èÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿ€b-ÿk9<k9÷k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi7:ÿc/ñÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿôc.ÿ=k9¦k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿ¥‡gÿ½§ÿº£‹ÿ¯”xÿ‘lFÿuGÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1´ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ¤k9çk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿêâÛÿ¯”xÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿg4wÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿåk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÖÉ»ÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5^ÿc.ÿÿc.ÿÿvHÿÿ«Žÿÿ«Žÿÿ«Žÿÿ«Žÿÿ‚Xÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿƒYÿÿ«Žÿÿ«Žÿÿ«Žÿÿ«ŽÿÿyKÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜÐÄÿwIÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿ²™~ÿÐÁ°ÿÏ¿®ÿÜÐÄÿûúùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾©’ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿl:ÿl:ÿn=
          ÿf>ÿëåÞÿÿÿÿÿÿÿÿÿÿÿÿÿù÷õÿ€U(ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿöóðÿÿÿÿÿÿÿÿÿÿÿÿÿ¬sÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿν¬ÿÿÿÿÿÿÿÿÿÿÿÿÿν¬ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ°•zÿÿÿÿÿÿÿÿÿÿÿÿÿßÔÉÿl:ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­‘ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ§Šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÀÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿe1ÿÿͼÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ‰aÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿ–sÿÿd/ÿÿc.ÿÿc.ÿÿd/ÿÿ—sÿÿúùÿÿÿÿÿÿÿÿÿÿÿÿÿÿòíÿÿo?ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûùÿÿÁ¬ÿÿjÿÿiÿÿ¼¥ÿÿûùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùöÿÿ|Oÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¤…ÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¨‹ÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØËÿÿ÷ôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÿÛÏÿÿŽgÿÿd0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿo>ÿÿšxÿÿ³šÿÿ¶ÿÿ¤…ÿÿ~Rÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿwIÿˆ`7ÿˆ`7ÿˆ`7ÿƒZ/ÿl;ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrCÿƒY.ÿzMÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ…\1ÿäÛÑÿ÷ôñÿïêäÿ­‘uÿl;ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿqAÿàÕÊÿÿÿÿÿÿÿÿÿÿÿÿÿüûúÿ”pKÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ€U)ÿôñíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ´›€ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ïk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿwIÿìåßÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿ¤…eÿk9ÿk9ÿk9ÿk9ÿh5jÿc.ÿÿc.ÿÿ|OÿÿÁ«ÿÿÁ«ÿÿÁ«ÿÿÁ«ÿÿŒdÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿòk9·k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¡`ÿ÷ôòÿÿÿÿÿþþþÿÓÄ´ÿrCÿk9ÿk9ÿk9ÿk9ÿf2£ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ·k9Xk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿˆ`7ÿ©Œnÿœ{XÿsCÿk9ÿk9ÿk9ÿk9ÿj8"ÿd/äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿZj8
          k9«k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿf2Ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿ­b.ÿk:k9­k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk8ÿf3“ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿ«c-ÿk9k:Zk9·k9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8"ÿh5iÿe0Ëÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿðc.ÿ¸c.ÿXb-ÿ
          ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(0` $k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9h5ad/óc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿ`0ÿk9
          k9~k9Ûk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿh5eÿd/áÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿýc.ÿÛc.ÿ€c.ÿ
          k9k9µk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8(ÿd/àÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿµc.ÿk9xk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<ÿm<ÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Qÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿuk9Ök9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuGÿìåÞÿïêäÿãÚÐÿÀ«•ÿ†^3ÿk:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿd/âÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÕk9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvHÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿúø÷ÿ±—{ÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿe0Æÿc.ÿÿ{Nÿÿ™vÿÿ™vÿÿ–sÿÿj7ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ‚Xÿÿ™vÿÿ™vÿÿ–rÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvHÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿ²˜}ÿl:ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ‘lFÿ’mGÿ£„dÿçß×ÿÿÿÿÿÿÿÿÿøöôÿ†]3ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{Nÿìæàÿÿÿÿÿÿÿÿÿ»¤Œÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ±–{ÿÿÿÿÿÿÿÿÿÝÑÅÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ|YÿÿÿÿÿÿÿÿÿéâÚÿm;ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿwHÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ½¦ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿþýÿÿŠbÿÿc.ÿÿc.ÿÿc.ÿÿd0ÿÿÔÅÿÿÿÿÿÿÿÿÿÿðëÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÒÿÿuFÿÿd/ÿÿf2ÿÿŸÿÿüûÿÿÿÿÿÿÿÿÿÿпÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòíÿÿÑÁÿÿÝÑÿÿüûÿÿÿÿÿÿÿÿÿÿþþÿÿiÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇ´ÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÇ´ÿÿj7ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿù÷ÿÿ¦ˆÿÿÕÆÿÿéâÿÿçÞÿÿʸÿÿiÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿh5ÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrBÿV+ÿV+ÿ~S&ÿl:ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿp?
          ÿ¬tÿ¾¨’ÿŒe<ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿº¢ŠÿÿÿþÿÿÿÿÿöòïÿƒY-ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿá×Íÿÿÿÿÿÿÿÿÿÿÿÿÿ¡`ÿk9ÿk9ÿk9ÿe1Åÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþk9ák9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¸ ‡ÿÿÿÿÿÿÿÿÿõòïÿ‚X,ÿk9ÿk9ÿk9ÿd0Úÿc.ÿÿq@ÿÿ‚Xÿÿ‚XÿÿVÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿâk9k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn>ÿ§‰kÿ½¦ÿŒe<ÿk9ÿk9ÿk9ÿi7;ÿc.üÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿj9k9Ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe0Éÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÓc.ÿk9k9®k9ók9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9
          ÿi7=ÿe0Æÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿòc.ÿ«c-ÿl<k9 k9>k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@h5[@d/ì@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ=c-ÿ b-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà€€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @ k8
          k9Jk9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`h5V`c.õ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿKc.ÿ
          k9"k9Øk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Bÿc/ñÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÙc.ÿ"k9¶k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿzMÿ“oIÿ†]2ÿn=	ÿk9ÿk9ÿk9ÿk9ÿg4zÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿµk9ùk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ €_ÿÿÿÿÿÿÿÿÿåÝÔÿ‹d;ÿk9ÿk9ÿk9ÿi78ÿc.ÿÿzLÿÿ‡^ÿÿ}Pÿÿc.ÿÿc.ÿÿc.ÿÿ}Qÿÿ‡^ÿÿzMÿÿc.ÿÿc.ÿÿc.ÿøk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ˜uPÿçß×ÿõòïÿÿÿÿÿöóðÿƒY-ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk:ÿtEÿÛÏÃÿÿÿÿÿÉ·¤ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ•qLÿÿÿÿÿëäÝÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿßÔÿÿc.ÿÿc.ÿÿd/ÿÿÝÑÿÿÿÿÿÿŲÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿþþÿÿ­’ÿÿyLÿÿ¬ÿÿþýÿÿÿÿÿÿ¢‚ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÝÿÿi7ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿõòÿÿýüÿÿÿÿÿÿÿÿÿÿÙÌÿÿuFÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿtEÿÿŒeÿÿzMÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ‚W+ÿ|P"ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿkDÿöóðÿæÝÕÿvGÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¶ƒÿÿÿÿÿÿÿÿÿ‹e<ÿk9ÿi74ÿc.ÿÿ²˜ÿÿàÕÿÿ½¦ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿük9Âk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿyKÿʸ¥ÿ¸ ‡ÿm<ÿk9ÿh4lÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÃk91k9êk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7-ÿd/çÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿéc.ÿ2k:k9kk9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€i6F€d/ä€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿjc.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(  k9Ak9ªk9¯k9¯k9¯k9¯k9¯k9¯i6G¯c.ú¯c.ÿ¯c.ÿ¯c.ÿ¯c.ÿ¯c.ÿªc.ÿAk9ëk9ÿk9ÿk9ÿk9ÿ«qÿ¶ƒÿsDÿk9ÿf2¬ÿrBÿÿi7ÿÿc.ÿÿrCÿÿi6ÿÿc.ÿëk9ÿk9ÿk9ÿk9ÿk9ÿ•rMÿÑÁ±ÿÐÀ°ÿk9ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿêâÿÿ–rÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ~R%ÿ÷ôñÿl:ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿêâÿÿ–rÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿž}ÿÿc.ÿÿìåÿÿ•qÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿêãÿÿɶÿÿøöÿÿtEÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿξÿÿÁ¬ÿÿ…[ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuFÿ·ž…ÿn=
          ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ïk9ÿk9ÿk9ÿk9ÿk9ÿW*ÿàÕËÿtEÿf2§ÿ–rÿÿyLÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿïk9Mk9ºk9¿k9¿k9¿k9¿k9¿k9¿i6B¿c.÷¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿºc.ÿMÿÿÿÿÿÿÿÿÿÿÿÿ
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        10. GET http://localhost:3000/assets/stylesheets
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (214 bytes)
          GET http://localhost:3000/assets/stylesheets HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (312 bytes)
          HTTP/1.1 301 Moved Permanently
          X-Powered-By: Express
          Content-Type: text/html; charset=UTF-8
          Content-Length: 203
          Content-Security-Policy: default-src 'self'
          X-Content-Type-Options: nosniff
          Location: /assets/stylesheets/
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (203 bytes)
          <!DOCTYPE html>
          <html lang="en">
          <head>
          <meta charset="utf-8">
          <title>Redirecting</title>
          </head>
          <body>
          <pre>Redirecting to <a href="/assets/stylesheets/">/assets/stylesheets/</a></pre>
          </body>
          </html>
          
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        11. GET http://localhost:3000/assets/stylesheets/style.css
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (375 bytes)
          GET http://localhost:3000/assets/stylesheets/style.css HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (316 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"900-17e41c1b2eb"
          Content-Type: text/css; charset=UTF-8
          Content-Length: 2304
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2304 bytes)
          /* Global css styles */
          
          /*
           * X-Small <576px []
           * Small >=576px [sm]
           * Medium >=768px [md]
           * Large >=992px [lg]
           * Extra large >=1200px [xl]
           * Extra extra large >=1400 [xxl]
           */
          
          @import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');
          @import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');
          @import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');
          
          :root {
          	--fontFamily: 'Oxygen', sans-serif;
          	--logoFontFamily: 'Righteous', cursive;
          	--fontSize: 100%;
          	--logoFontSize: 175%;
          	--smallFontSize: 85%;
          	--grayBackground: #eaeaea;
          	--borderColor: #ced4da;
          	--primaryFontColor: #252a34;
          	--secondaryFontColor: #ced4da;
          	--primaryColor: #16396b;
          	--primaryColorLow: #16396b4d;
          	--secondaryColor: #ea2e64;
          	--secondaryColorLow: #ea2e644d;
          	--backgroundColor: #ffffff;
          	--borderRadiusList: 2px;
          	--borderRadiusImg: 50%;
          	--borderRadius: 25px;
          	--standardHeight: 42px;
          	--headerHeight: 100px;
          	--footerHeight: 50px;
          	--cardSize: 70vh;
          }
          
          body {
          	font-family: var(--fontFamily) !important;
          	background-color: var(--backgroundColor);
          }
          
          .content-container {
          	min-height: calc(
          		100vh - var(--headerHeight) - var(--footerHeight) - 20px
          	) !important;
          }
          
          input {
          	background: var(--backgroundColor) !important;
          	border: 1px solid var(--borderColor) !important;
          	text-align: center;
          	height: var(--standardHeight);
          }
          
          .btn {
          	box-shadow: none !important;
          }
          
          input:focus {
          	box-shadow: none !important;
          	border: 1px solid var(--borderColor) !important;
          	text-align: center;
          	height: var(--standardHeight);
          }
          
          textarea {
          	background: var(--backgroundColor) !important;
          	border: 1px solid var(--borderColor) !important;
          }
          
          textarea:focus {
          	box-shadow: none !important;
          }
          
          header {
          	width: 100%;
          	padding: 10px;
          	height: var(--headerHeight);
          	color: var(--primaryFontColor);
          }
          
          button:focus {
          	box-shadow: none !important;
          }
          
          .collapse {
          	z-index: 3;
          }
          
          footer {
          	width: 100%;
          	height: var(--footerHeight);
          	padding: 10px;
          	text-align: center;
          	color: var(--primaryFontColor);
          	font-size: var(--fontSize) !important;
          }
          
          .logoTitleHeader img {
          	height: 70px;
          }
          
          .logoTitleFooter img {
          	height: 25px;
          }
          
          .headerOptions {
          	font-size: var(--headerFontSize);
          }
          
          .headerCollapseOptions {
          	background-color: white;
          }
          
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        12. GET http://localhost:3000/job-preview
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/job-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        13. GET http://localhost:3000/main.488cd5f42661da5d.js
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (354 bytes)
          GET http://localhost:3000/main.488cd5f42661da5d.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (334 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"75802-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 481283
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (481283 bytes)
          "use strict";var $3=Object.defineProperty,z3=Object.defineProperties,W3=Object.getOwnPropertyDescriptors,wE=Object.getOwnPropertySymbols,G3=Object.prototype.hasOwnProperty,q3=Object.prototype.propertyIsEnumerable,xE=(V,nt,yt)=>nt in V?$3(V,nt,{enumerable:!0,configurable:!0,writable:!0,value:yt}):V[nt]=yt,Gp=(V,nt)=>{for(var yt in nt||(nt={}))G3.call(nt,yt)&&xE(V,yt,nt[yt]);if(wE)for(var yt of wE(nt))q3.call(nt,yt)&&xE(V,yt,nt[yt]);return V},qp=(V,nt)=>z3(V,W3(nt));(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[179],{328:()=>{function V(n){return"function"==typeof n}function nt(n){const t=n(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const yt=nt(n=>function(t){n(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t});function _r(n,e){if(n){const t=n.indexOf(e);0<=t&&n.splice(t,1)}}class Rt{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const s of t)s.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(V(i))try{i()}catch(s){e=s instanceof yt?s.errors:[s]}const{_teardowns:r}=this;if(r){this._teardowns=null;for(const s of r)try{Jp(s)}catch(o){e=null!=e?e:[],o instanceof yt?e=[...e,...o.errors]:e.push(o)}}if(e)throw new yt(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Jp(e);else{if(e instanceof Rt){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(e)}}_hasParent(e){const{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){const{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&_r(t,e)}remove(e){const{_teardowns:t}=this;t&&_r(t,e),e instanceof Rt&&e._removeParent(this)}}Rt.EMPTY=(()=>{const n=new Rt;return n.closed=!0,n})();const Yp=Rt.EMPTY;function Kp(n){return n instanceof Rt||n&&"closed"in n&&V(n.remove)&&V(n.add)&&V(n.unsubscribe)}function Jp(n){V(n)?n():n.unsubscribe()}const Hi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},wa={setTimeout(...n){const{delegate:e}=wa;return((null==e?void 0:e.setTimeout)||setTimeout)(...n)},clearTimeout(n){const{delegate:e}=wa;return((null==e?void 0:e.clearTimeout)||clearTimeout)(n)},delegate:void 0};function Zp(n){wa.setTimeout(()=>{const{onUnhandledError:e}=Hi;if(!e)throw n;e(n)})}function vr(){}const EE=nu("C",void 0,void 0);function nu(n,e,t){return{kind:n,value:e,error:t}}let Ui=null;function xa(n){if(Hi.useDeprecatedSynchronousErrorHandling){const e=!Ui;if(e&&(Ui={errorThrown:!1,error:null}),n(),e){const{errorThrown:t,error:i}=Ui;if(Ui=null,t)throw i}}else n()}class iu extends Rt{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,Kp(e)&&e.add(this)):this.destination=IE}static create(e,t,i){return new ru(e,t,i)}next(e){this.isStopped?ou(nu("N",e,void 0),this):this._next(e)}error(e){this.isStopped?ou(nu("E",void 0,e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?ou(EE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}class ru extends iu{constructor(e,t,i){let r;if(super(),V(e))r=e;else if(e){let s;({next:r,error:t,complete:i}=e),this&&Hi.useDeprecatedNextContext?(s=Object.create(e),s.unsubscribe=()=>this.unsubscribe()):s=e,r=null==r?void 0:r.bind(s),t=null==t?void 0:t.bind(s),i=null==i?void 0:i.bind(s)}this.destination={next:r?su(r):vr,error:su(null!=t?t:Xp),complete:i?su(i):vr}}}function su(n,e){return(...t)=>{try{n(...t)}catch(i){Hi.useDeprecatedSynchronousErrorHandling?function(n){Hi.useDeprecatedSynchronousErrorHandling&&Ui&&(Ui.errorThrown=!0,Ui.error=n)}(i):Zp(i)}}}function Xp(n){throw n}function ou(n,e){const{onStoppedNotification:t}=Hi;t&&wa.setTimeout(()=>t(n,e))}const IE={closed:!0,next:vr,error:Xp,complete:vr},au="function"==typeof Symbol&&Symbol.observable||"@@observable";function vi(n){return n}let fe=(()=>{class n{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const s=function(n){return n&&n instanceof iu||function(n){return n&&V(n.next)&&V(n.error)&&V(n.complete)}(n)&&Kp(n)}(t)?t:new ru(t,i,r);return xa(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=eg(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),null==o||o.unsubscribe()}},s,r)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[au](){return this}pipe(...t){return function(n){return 0===n.length?vi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=eg(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function eg(n){var e;return null!==(e=null!=n?n:Hi.Promise)&&void 0!==e?e:Promise}const PE=nt(n=>function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Jt=(()=>{class n extends fe{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new tg(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new PE}next(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){const i=this.observers.slice();for(const r of i)r.next(t)}})}error(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:s}=this;return i||r?Yp:(s.push(t),new Rt(()=>_r(s,t)))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:s}=this;i?t.error(r):s&&t.complete()}asObservable(){const t=new fe;return t.source=this,t}}return n.create=(e,t)=>new tg(e,t),n})();class tg extends Jt{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,e)}error(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,e)}complete(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)}_subscribe(e){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==i?i:Yp}}function ng(n){return V(null==n?void 0:n.lift)}function je(n){return e=>{if(ng(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}class Ne extends iu{constructor(e,t,i,r,s){super(e),this.onFinalize=s,this._next=t?function(o){try{t(o)}catch(a){e.error(a)}}:super._next,this._error=r?function(o){try{r(o)}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(o){e.error(o)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;const{closed:t}=this;super.unsubscribe(),!t&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}}function Z(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>{i.next(n.call(e,s,r++))}))})}function $i(n){return this instanceof $i?(this.v=n,this):new $i(n)}function FE(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(n,e||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){s.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function(h){h.value instanceof $i?Promise.resolve(h.value.v).then(c,u):d(s[0][2],h)}(i[h](f))}catch(p){d(s[0][3],p)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,f){h(f),s.shift(),s.length&&a(s[0][0],s[0][1])}}function NE(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,e=n[Symbol.asyncIterator];return e?e.call(n):(n=function(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){!function(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=n[s](o)).done,o.value)})}}}const cu=n=>n&&"number"==typeof n.length&&"function"!=typeof n;function og(n){return V(null==n?void 0:n.then)}function ag(n){return V(n[au])}function lg(n){return Symbol.asyncIterator&&V(null==n?void 0:n[Symbol.asyncIterator])}function cg(n){return new TypeError(`You provided ${null!==n&&"object"==typeof n?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const ug="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function dg(n){return V(null==n?void 0:n[ug])}function hg(n){return FE(this,arguments,function*(){const t=n.getReader();try{for(;;){const{value:i,done:r}=yield $i(t.read());if(r)return yield $i(void 0);yield yield $i(i)}}finally{t.releaseLock()}})}function fg(n){return V(null==n?void 0:n.getReader)}function Zt(n){if(n instanceof fe)return n;if(null!=n){if(ag(n))return function(n){return new fe(e=>{const t=n[au]();if(V(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(n);if(cu(n))return function(n){return new fe(e=>{for(let t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}(n);if(og(n))return function(n){return new fe(e=>{n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Zp)})}(n);if(lg(n))return pg(n);if(dg(n))return function(n){return new fe(e=>{for(const t of n)if(e.next(t),e.closed)return;e.complete()})}(n);if(fg(n))return function(n){return pg(hg(n))}(n)}throw cg(n)}function pg(n){return new fe(e=>{(function(n,e){var t,i,r,s;return function(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}(this,void 0,void 0,function*(){try{for(t=NE(n);!(i=yield t.next()).done;)if(e.next(i.value),e.closed)return}catch(o){r={error:o}}finally{try{i&&!i.done&&(s=t.return)&&(yield s.call(t))}finally{if(r)throw r.error}}e.complete()})})(n,e).catch(t=>e.error(t))})}function Zn(n,e,t,i=0,r=!1){const s=e.schedule(function(){t(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function He(n,e,t=1/0){return V(e)?He((i,r)=>Z((s,o)=>e(i,s,r,o))(Zt(n(i,r))),t):("number"==typeof e&&(t=e),je((i,r)=>function(n,e,t,i,r,s,o,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&e.complete()},f=g=>c<i?p(g):l.push(g),p=g=>{c++;let _=!1;Zt(t(g,u++)).subscribe(new Ne(e,v=>{e.next(v)},()=>{_=!0},void 0,()=>{if(_)try{for(c--;l.length&&c<i;){const v=l.shift();p(v)}h()}catch(v){e.error(v)}}))};return n.subscribe(new Ne(e,f,()=>{d=!0,h()})),()=>{}}(i,r,n,t)))}function Os(n=1/0){return He(vi,n)}const Xn=new fe(n=>n.complete());function gg(n){return n&&V(n.schedule)}function uu(n){return n[n.length-1]}function mg(n){return V(uu(n))?n.pop():void 0}function Ps(n){return gg(uu(n))?n.pop():void 0}function yg(n,e=0){return je((t,i)=>{t.subscribe(new Ne(i,r=>Zn(i,n,()=>i.next(r),e),()=>Zn(i,n,()=>i.complete(),e),r=>Zn(i,n,()=>i.error(r),e)))})}function _g(n,e=0){return je((t,i)=>{i.add(n.schedule(()=>t.subscribe(i),e))})}function vg(n,e){if(!n)throw new Error("Iterable cannot be null");return new fe(t=>{Zn(t,e,()=>{const i=n[Symbol.asyncIterator]();Zn(t,e,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function Ye(n,e){return e?function(n,e){if(null!=n){if(ag(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(cu(n))return function(n,e){return new fe(t=>{let i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}(n,e);if(og(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(lg(n))return vg(n,e);if(dg(n))return function(n,e){return new fe(t=>{let i;return Zn(t,e,()=>{i=n[ug](),Zn(t,e,()=>{let r,s;try{({value:r,done:s}=i.next())}catch(o){return void t.error(o)}s?t.complete():t.next(r)},0,!0)}),()=>V(null==i?void 0:i.return)&&i.return()})}(n,e);if(fg(n))return function(n,e){return vg(hg(n),e)}(n,e)}throw cg(n)}(n,e):Zt(n)}function Ea(...n){const e=Ps(n),t=function(n,e){return"number"==typeof uu(n)?n.pop():1/0}(n),i=n;return i.length?1===i.length?Zt(i[0]):Os(t)(Ye(i,e)):Xn}function Xt(n){return n<=0?()=>Xn:je((e,t)=>{let i=0;e.subscribe(new Ne(t,r=>{++i<=n&&(t.next(r),n<=i&&t.complete())}))})}function du(n,e,...t){return!0===e?(n(),null):!1===e?null:e(...t).pipe(Xt(1)).subscribe(()=>n())}function me(n){for(let e in n)if(n[e]===me)return e;throw Error("Could not find renamed property on target object.")}function hu(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function le(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(le).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function fu(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const tM=me({__forward_ref__:me});function ve(n){return n.__forward_ref__=ve,n.toString=function(){return le(this())},n}function W(n){return bg(n)?n():n}function bg(n){return"function"==typeof n&&n.hasOwnProperty(tM)&&n.__forward_ref__===ve}class Ft extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function H(n){return"string"==typeof n?n:null==n?"":String(n)}function _t(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():H(n)}function Ma(n,e){const t=e?` in ${e}`:"";throw new Ft("201",`No provider for ${_t(n)} found${t}`)}function Lt(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function B(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function vt(n){return{providers:n.providers||[],imports:n.imports||[]}}function gu(n){return Cg(n,Sa)||Cg(n,wg)}function Cg(n,e){return n.hasOwnProperty(e)?n[e]:null}function Dg(n){return n&&(n.hasOwnProperty(mu)||n.hasOwnProperty(lM))?n[mu]:null}const Sa=me({\u0275prov:me}),mu=me({\u0275inj:me}),wg=me({ngInjectableDef:me}),lM=me({ngInjectorDef:me});var $=(()=>(($=$||{})[$.Default=0]="Default",$[$.Host=1]="Host",$[$.Self=2]="Self",$[$.SkipSelf=4]="SkipSelf",$[$.Optional=8]="Optional",$))();let yu;function bi(n){const e=yu;return yu=n,e}function xg(n,e,t){const i=gu(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&$.Optional?null:void 0!==e?e:void Ma(le(n),"Injector")}function Ci(n){return{toString:n}.toString()}var fn=(()=>((fn=fn||{})[fn.OnPush=0]="OnPush",fn[fn.Default=1]="Default",fn))(),Tn=(()=>{return(n=Tn||(Tn={}))[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom",Tn;var n})();const uM="undefined"!=typeof globalThis&&globalThis,dM="undefined"!=typeof window&&window,hM="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,ge=uM||"undefined"!=typeof global&&global||dM||hM,br={},ye=[],Aa=me({\u0275cmp:me}),_u=me({\u0275dir:me}),vu=me({\u0275pipe:me}),Eg=me({\u0275mod:me}),ei=me({\u0275fac:me}),ks=me({__NG_ELEMENT_ID__:me});let fM=0;function On(n){return Ci(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===fn.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ye,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Tn.Emulated,id:"c",styles:n.styles||ye,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=fM++,i.inputs=Ig(n.inputs,t),i.outputs=Ig(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(Mg):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(Sg):null,i})}function Mg(n){return lt(n)||function(n){return n[_u]||null}(n)}function Sg(n){return function(n){return n[vu]||null}(n)}const Ag={};function Mt(n){return Ci(()=>{const e={type:n.type,bootstrap:n.bootstrap||ye,declarations:n.declarations||ye,imports:n.imports||ye,exports:n.exports||ye,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(Ag[n.id]=n.type),e})}function Ig(n,e){if(null==n)return br;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const N=On;function lt(n){return n[Aa]||null}function Qt(n,e){const t=n[Eg]||null;if(!t&&!0===e)throw new Error(`Type ${le(n)} does not have '\u0275mod' property.`);return t}const G=11;function Pn(n){return Array.isArray(n)&&"object"==typeof n[1]}function gn(n){return Array.isArray(n)&&!0===n[1]}function Du(n){return 0!=(8&n.flags)}function Pa(n){return 2==(2&n.flags)}function ka(n){return 1==(1&n.flags)}function mn(n){return null!==n.template}function vM(n){return 0!=(512&n[2])}function Yi(n,e){return n.hasOwnProperty(ei)?n[ei]:null}class DM{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Bt(){return Og}function Og(n){return n.type.prototype.ngOnChanges&&(n.setInput=xM),wM}function wM(){const n=kg(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===br)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function xM(n,e,t,i){const r=kg(n)||function(n,e){return n[Pg]=e}(n,{previous:br,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new DM(l&&l.currentValue,e,o===br),n[i]=e}Bt.ngInherit=!0;const Pg="__ngSimpleChanges__";function kg(n){return n[Pg]||null}let Eu;function Oe(n){return!!n.listen}const Ng={createRenderer:(n,e)=>void 0!==Eu?Eu:"undefined"!=typeof document?document:void 0};function Ue(n){for(;Array.isArray(n);)n=n[0];return n}function Ra(n,e){return Ue(e[n])}function nn(n,e){return Ue(e[n.index])}function Su(n,e){return n.data[e]}function jt(n,e){const t=e[n];return Pn(t)?t:t[0]}function Au(n){return 128==(128&n[2])}function wi(n,e){return null==e?null:n[e]}function Vg(n){n[18]=0}function Iu(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const L={lFrame:Gg(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Bg(){return L.bindingsEnabled}function E(){return L.lFrame.lView}function ce(){return L.lFrame.tView}function Ke(){let n=jg();for(;null!==n&&64===n.type;)n=n.parent;return n}function jg(){return L.lFrame.currentTNode}function kn(n,e){const t=L.lFrame;t.currentTNode=n,t.isParent=e}function Tu(){return L.lFrame.isParent}function Fa(){return L.isInCheckNoChangesMode}function Na(n){L.isInCheckNoChangesMode=n}function Mr(){return L.lFrame.bindingIndex++}function jM(n,e){const t=L.lFrame;t.bindingIndex=t.bindingRootIndex=n,Pu(e)}function Pu(n){L.lFrame.currentDirectiveIndex=n}function Ru(n){L.lFrame.currentQueryIndex=n}function UM(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function zg(n,e,t){if(t&$.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&$.Host||(r=UM(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=L.lFrame=Wg();return i.currentTNode=e,i.lView=n,!0}function La(n){const e=Wg(),t=n[1];L.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Wg(){const n=L.lFrame,e=null===n?null:n.child;return null===e?Gg(n):e}function Gg(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qg(){const n=L.lFrame;return L.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Yg=qg;function Va(){const n=qg();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Ct(){return L.lFrame.selectedIndex}function xi(n){L.lFrame.selectedIndex=n}function Pe(){const n=L.lFrame;return Su(n.tView,n.selectedIndex)}function Ba(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t<i;t++){const s=n.data[t].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(n.contentHooks||(n.contentHooks=[])).push(-t,o),a&&((n.contentHooks||(n.contentHooks=[])).push(t,a),(n.contentCheckHooks||(n.contentCheckHooks=[])).push(t,a)),l&&(n.viewHooks||(n.viewHooks=[])).push(-t,l),c&&((n.viewHooks||(n.viewHooks=[])).push(t,c),(n.viewCheckHooks||(n.viewCheckHooks=[])).push(t,c)),null!=u&&(n.destroyHooks||(n.destroyHooks=[])).push(t,u)}}function ja(n,e,t){Kg(n,e,3,t)}function Ha(n,e,t,i){(3&n[2])===t&&Kg(n,e,t,i)}function Fu(n,e){let t=n[2];(3&t)===e&&(t&=2047,t+=1,n[2]=t)}function Kg(n,e,t,i){const s=null!=i?i:-1,o=e.length-1;let a=0;for(let l=void 0!==i?65535&n[18]:0;l<o;l++)if("number"==typeof e[l+1]){if(a=e[l],null!=i&&a>=i)break}else e[l]<0&&(n[18]+=65536),(a<s||-1==s)&&(ZM(n,t,e,l),n[18]=(4294901760&n[18])+l+2),l++}function ZM(n,e,t,i){const r=t[i]<0,s=t[i+1],a=n[r?-t[i]:t[i]];if(r){if(n[2]>>11<n[18]>>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Vs{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Ua(n,e,t){const i=Oe(n);let r=0;for(;r<t.length;){const s=t[r];if("number"==typeof s){if(0!==s)break;r++;const o=t[r++],a=t[r++],l=t[r++];i?n.setAttribute(e,a,l,o):e.setAttributeNS(o,a,l)}else{const o=s,a=t[++r];Lu(o)?i&&n.setProperty(e,o,a):i?n.setAttribute(e,o,a):e.setAttribute(o,a),r++}}return r}function Jg(n){return 3===n||4===n||6===n}function Lu(n){return 64===n.charCodeAt(0)}function $a(n,e){if(null!==e&&0!==e.length)if(null===n||0===n.length)n=e.slice();else{let t=-1;for(let i=0;i<e.length;i++){const r=e[i];"number"==typeof r?t=r:0===t||Zg(n,t,r,null,-1===t||2===t?e[++i]:null)}}return n}function Zg(n,e,t,i,r){let s=0,o=n.length;if(-1===e)o=-1;else for(;s<n.length;){const a=n[s++];if("number"==typeof a){if(a===e){o=-1;break}if(a>e){o=s-1;break}}}for(;s<n.length;){const a=n[s];if("number"==typeof a)break;if(a===t){if(null===i)return void(null!==r&&(n[s+1]=r));if(i===n[s+1])return void(n[s+2]=r)}s++,null!==i&&s++,null!==r&&s++}-1!==o&&(n.splice(o,0,e),s=o+1),n.splice(s++,0,t),null!==i&&n.splice(s++,0,i),null!==r&&n.splice(s++,0,r)}function Xg(n){return-1!==n}function Sr(n){return 32767&n}function Ar(n,e){let t=function(n){return n>>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Vu=!0;function za(n){const e=Vu;return Vu=n,e}let iS=0;function js(n,e){const t=ju(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,Bu(i.data,n),Bu(e,null),Bu(i.blueprint,null));const r=Wa(n,e),s=n.injectorIndex;if(Xg(r)){const o=Sr(r),a=Ar(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function Bu(n,e){n.push(0,0,0,0,0,0,0,0,e)}function ju(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Wa(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Ga(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(ks)&&(i=t[ks]),null==i&&(i=t[ks]=iS++);const r=255&i;e.data[n+(r>>5)]|=1<<r}(n,e,t)}function tm(n,e,t){if(t&$.Optional)return n;Ma(e,"NodeInjector")}function nm(n,e,t,i){if(t&$.Optional&&void 0===i&&(i=null),0==(t&($.Self|$.Host))){const r=n[9],s=bi(void 0);try{return r?r.get(e,i,t&$.Optional):xg(e,i,t&$.Optional)}finally{bi(s)}}return tm(i,e,t)}function im(n,e,t,i=$.Default,r){if(null!==n){const s=function(n){if("string"==typeof n)return n.charCodeAt(0)||0;const e=n.hasOwnProperty(ks)?n[ks]:void 0;return"number"==typeof e?e>=0?255&e:oS:e}(t);if("function"==typeof s){if(!zg(e,n,i))return i&$.Host?tm(r,t,i):nm(e,t,i,r);try{const o=s(i);if(null!=o||i&$.Optional)return o;Ma(t)}finally{Yg()}}else if("number"==typeof s){let o=null,a=ju(n,e),l=-1,c=i&$.Host?e[16][6]:null;for((-1===a||i&$.SkipSelf)&&(l=-1===a?Wa(n,e):e[a+8],-1!==l&&om(i,!1)?(o=e[1],a=Sr(l),e=Ar(l,e)):a=-1);-1!==a;){const u=e[1];if(sm(s,a,u.data)){const d=aS(a,e,t,o,i,c);if(d!==rm)return d}l=e[a+8],-1!==l&&om(i,e[1].data[a+8]===c)&&sm(s,a,e)?(o=u,a=Sr(l),e=Ar(l,e)):a=-1}}}return nm(e,t,i,r)}const rm={};function oS(){return new Ir(Ke(),E())}function aS(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=function(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,h=r?a+u:n.directiveEnd;for(let f=i?a:a+u;f<h;f++){const p=o[f];if(f<l&&t===p||f>=l&&p.type===t)return f}if(r){const f=o[l];if(f&&mn(f)&&f.type===t)return l}return null}(a,o,t,null==i?Pa(a)&&Vu:i!=o&&0!=(3&a.type),r&$.Host&&s===a);return null!==u?Hs(e,o,u,a):rm}function Hs(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Vs}(r)){const o=r;o.resolving&&function(n,e){throw new Ft("200",`Circular dependency in DI detected for ${n}`)}(_t(s[t]));const a=za(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?bi(o.injectImpl):null;zg(n,i,$.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=Og(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&bi(l),za(a),o.resolving=!1,Yg()}}return r}function sm(n,e,t){return!!(t[e+(n>>5)]&1<<n)}function om(n,e){return!(n&$.Self||n&$.Host&&e)}class Ir{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,i){return im(this._tNode,this._lView,e,i,t)}}function Hu(n){return bg(n)?()=>{const e=Hu(W(n));return e&&e()}:Yi(n)}const Or="__parameters__";function kr(n,e,t){return Ci(()=>{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const d=l.hasOwnProperty(Or)?l[Or]:Object.defineProperty(l,Or,{value:[]})[Or];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class z{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const uS=new z("AnalyzeForEntryComponents");function Rn(n,e){n.forEach(t=>Array.isArray(t)?Rn(t,e):e(t))}function lm(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Ya(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Ut(n,e,t){let i=Rr(n,e);return i>=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function zu(n,e){const t=Rr(n,e);if(t>=0)return n[1|t]}function Rr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<<t];if(e===o)return s<<t;o>e?r=s:i=s+1}return~(r<<t)}(n,e,1)}const Gs={},Gu="__NG_DI_FLAG__",Ja="ngTempTokenPath",bS=/\n/gm,fm="__source",DS=me({provide:String,useValue:me});let qs;function pm(n){const e=qs;return qs=n,e}function wS(n,e=$.Default){if(void 0===qs)throw new Error("inject() must be called from an injection context");return null===qs?xg(n,void 0,e):qs.get(n,e&$.Optional?null:void 0,e)}function P(n,e=$.Default){return(yu||wS)(W(n),e)}function qu(n){const e=[];for(let t=0;t<n.length;t++){const i=W(n[t]);if(Array.isArray(i)){if(0===i.length)throw new Error("Arguments array must have arguments.");let r,s=$.Default;for(let o=0;o<i.length;o++){const a=i[o],l=xS(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}e.push(P(r,s))}else e.push(P(i))}return e}function Ys(n,e){return n[Gu]=e,n.prototype[Gu]=e,n}function xS(n){return n[Gu]}const Ks=Ys(kr("Inject",n=>({token:n})),-1),Fn=Ys(kr("Optional"),8),Fr=Ys(kr("SkipSelf"),4);const km="__ngContext__";function ut(n,e){n[km]=e}function id(n){const e=function(n){return n[km]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function sd(n){return n.ngOriginalError}function yA(n,...e){n.error(...e)}class Vr{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=(n=e)&&n.ngErrorLogger||yA;var n;i(this._console,"ERROR",e),t&&i(this._console,"ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&sd(e);for(;t&&sd(t);)t=sd(t);return t||null}}const Vm=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(ge))();function Ln(n){return n instanceof Function?n():n}var $t=(()=>(($t=$t||{})[$t.Important=1]="Important",$t[$t.DashCase=2]="DashCase",$t))();function ad(n,e){return undefined(n,e)}function to(n){const e=n[3];return gn(e)?e[3]:e}function ld(n){return $m(n[13])}function cd(n){return $m(n[4])}function $m(n){for(;null!==n&&!gn(n);)n=n[4];return n}function jr(n,e,t,i,r){if(null!=i){let s,o=!1;gn(i)?s=i:Pn(i)&&(o=!0,i=i[0]);const a=Ue(i);0===n&&null!==t?null==r?Km(e,t,a):Ki(e,t,a,r||null,!0):1===n&&null!==t?Ki(e,t,a,r||null,!0):2===n?function(n,e,t){const i=nl(n,e);i&&function(n,e,t,i){Oe(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Ue(t)&&jr(e,n,i,s,r);for(let a=10;a<t.length;a++){const l=t[a];no(l[1],l,n,e,i,s)}}(e,n,s,t,r)}}function dd(n,e,t){return Oe(n)?n.createElement(e,t):null===t?n.createElement(e):n.createElementNS(t,e)}function Wm(n,e){const t=n[9],i=t.indexOf(e),r=e[3];1024&e[2]&&(e[2]&=-1025,Iu(r,-1)),t.splice(i,1)}function hd(n,e){if(n.length<=10)return;const t=10+e,i=n[t];if(i){const r=i[17];null!==r&&r!==n&&Wm(r,i),e>0&&(n[t-1][4]=i[4]);const s=Ya(n,10+e);!function(n,e){no(n,e,e[G],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Gm(n,e){if(!(256&e[2])){const t=e[G];Oe(t)&&t.destroyNode&&no(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return fd(n[1],n);for(;e;){let t=null;if(Pn(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Pn(e)&&fd(e[1],e),e=e[3];null===e&&(e=n),Pn(e)&&fd(e[1],e),t=e&&e[4]}e=t}}(e)}}function fd(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i<t.length;i+=2){const r=e[t[i]];if(!(r instanceof Vs)){const s=t[i+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];try{l.call(a)}finally{}}else try{s.call(r)}finally{}}}}(n,e),function(n,e){const t=n.cleanup,i=e[7];let r=-1;if(null!==t)for(let s=0;s<t.length-1;s+=2)if("string"==typeof t[s]){const o=t[s+1],a="function"==typeof o?o(e):Ue(e[o]),l=i[r=t[s+2]],c=t[s+3];"boolean"==typeof c?a.removeEventListener(t[s],l,c):c>=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;s<i.length;s++)i[s]();e[7]=null}}(n,e),1===e[1].type&&Oe(e[G])&&e[G].destroy();const t=e[17];if(null!==t&&gn(e[3])){t!==e[3]&&Wm(t,e);const i=e[19];null!==i&&i.detachView(n)}}}function qm(n,e,t){return function(n,e,t){let i=e;for(;null!==i&&40&i.type;)i=(e=i).parent;if(null===i)return t[0];if(2&i.flags){const r=n.data[i.directiveStart].encapsulation;if(r===Tn.None||r===Tn.Emulated)return null}return nn(i,t)}(n,e.parent,t)}function Ki(n,e,t,i,r){Oe(n)?n.insertBefore(e,t,i,r):e.insertBefore(t,i,r)}function Km(n,e,t){Oe(n)?n.appendChild(e,t):e.appendChild(t)}function Jm(n,e,t,i,r){null!==i?Ki(n,e,t,i,r):Km(n,e,t)}function nl(n,e){return Oe(n)?n.parentNode(e):e.parentNode}let Qm=function(n,e,t){return 40&n.type?nn(n,t):null};function il(n,e,t,i){const r=qm(n,i,e),s=e[G],a=function(n,e,t){return Qm(n,e,t)}(i.parent||e[6],i,e);if(null!=r)if(Array.isArray(t))for(let l=0;l<t.length;l++)Jm(s,r,t[l],a,!1);else Jm(s,r,t,a,!1)}function rl(n,e){if(null!==e){const t=e.type;if(3&t)return nn(e,n);if(4&t)return gd(-1,n[e.index]);if(8&t){const i=e.child;if(null!==i)return rl(n,i);{const r=n[e.index];return gn(r)?gd(-1,r):Ue(r)}}if(32&t)return ad(e,n)()||Ue(n[e.index]);{const i=ty(n,e);return null!==i?Array.isArray(i)?i[0]:rl(to(n[16]),i):rl(n,e.next)}}return null}function ty(n,e){return null!==e?n[16][6].projection[e.projection]:null}function gd(n,e){const t=10+n+1;if(t<e.length){const i=e[t],r=i[1].firstChild;if(null!==r)return rl(i,r)}return e[7]}function md(n,e,t,i,r,s,o){for(;null!=t;){const a=i[t.index],l=t.type;if(o&&0===e&&(a&&ut(Ue(a),i),t.flags|=4),64!=(64&t.flags))if(8&l)md(n,e,t.child,i,r,s,!1),jr(e,n,r,a,s);else if(32&l){const c=ad(t,i);let u;for(;u=c();)jr(e,n,r,u,s);jr(e,n,r,a,s)}else 16&l?iy(n,e,i,t,r,s):jr(e,n,r,a,s);t=o?t.projectionNext:t.next}}function no(n,e,t,i,r,s){md(t,i,n.firstChild,e,r,s,!1)}function iy(n,e,t,i,r,s){const o=t[16],l=o[6].projection[i.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)jr(e,n,r,l[c],s);else md(n,e,l,o[3],r,s,!0)}function ry(n,e,t){Oe(n)?n.setAttribute(e,"style",t):e.style.cssText=t}function yd(n,e,t){Oe(n)?""===t?n.removeAttribute(e,"class"):n.setAttribute(e,"class",t):e.className=t}function sy(n,e,t){let i=n.length;for(;;){const r=n.indexOf(e,t);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const s=e.length;if(r+s===i||n.charCodeAt(r+s)<=32)return r}t=r+1}}const oy="ng-template";function WA(n,e,t){let i=0;for(;i<n.length;){let r=n[i++];if(t&&"class"===r){if(r=n[i],-1!==sy(r.toLowerCase(),e,0))return!0}else if(1===r){for(;i<n.length&&"string"==typeof(r=n[i++]);)if(r.toLowerCase()===e)return!0;return!1}}return!1}function ay(n){return 4===n.type&&n.value!==oy}function GA(n,e,t){return e===(4!==n.type||t?n.value:oy)}function qA(n,e,t){let i=4;const r=n.attrs||[],s=function(n){for(let e=0;e<n.length;e++)if(Jg(n[e]))return e;return n.length}(r);let o=!1;for(let a=0;a<e.length;a++){const l=e[a];if("number"!=typeof l){if(!o)if(4&i){if(i=2|1&i,""!==l&&!GA(n,l,t)||""===l&&1===e.length){if(yn(i))return!1;o=!0}}else{const c=8&i?l:e[++a];if(8&i&&null!==n.attrs){if(!WA(n.attrs,c,t)){if(yn(i))return!1;o=!0}continue}const d=YA(8&i?"class":l,r,ay(n),t);if(-1===d){if(yn(i))return!1;o=!0;continue}if(""!==c){let h;h=d>s?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==sy(f,c,0)||2&i&&c!==h){if(yn(i))return!1;o=!0}}}}else{if(!o&&!yn(i)&&!yn(l))return!1;if(o&&yn(l))continue;o=!1,i=l|1&i}}return yn(i)||o}function yn(n){return 0==(1&n)}function YA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r<e.length;){const o=e[r];if(o===n)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=e[++r];for(;"string"==typeof a;)a=e[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function(n,e){let t=n.indexOf(4);if(t>-1)for(t++;t<n.length;){const i=n[t];if("number"==typeof i)return-1;if(i===e)return t;t++}return-1}(e,n)}function ly(n,e,t=!1){for(let i=0;i<e.length;i++)if(qA(n,e[i],t))return!0;return!1}function cy(n,e){return n?":not("+e.trim()+")":e}function QA(n){let e=n[0],t=1,i=2,r="",s=!1;for(;t<n.length;){let o=n[t];if("string"==typeof o)if(2&i){const a=n[++t];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!yn(o)&&(e+=cy(s,r),r=""),i=o,s=s||!yn(i);t++}return""!==r&&(e+=cy(s,r)),e}const U={};function re(n){uy(ce(),E(),Ct()+n,Fa())}function uy(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&ja(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Ha(e,s,0,t)}xi(t)}function sl(n,e){return n<<17|e<<2}function _n(n){return n>>17&32767}function _d(n){return 2|n}function ii(n){return(131068&n)>>2}function vd(n,e){return-131069&n|e<<2}function bd(n){return 1|n}function Cy(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i<t.length;i+=2){const r=t[i],s=t[i+1];if(-1!==s){const o=n.data[s];Ru(r),o.contentQueries(2,e[s],s)}}}function io(n,e,t,i,r,s,o,a,l,c){const u=e.blueprint.slice();return u[0]=r,u[2]=140|i,Vg(u),u[3]=u[15]=n,u[8]=t,u[10]=o||n&&n[10],u[G]=a||n&&n[G],u[12]=l||n&&n[12]||null,u[9]=c||n&&n[9]||null,u[6]=s,u[16]=2==e.type?n[16]:u,u}function Hr(n,e,t,i,r){let s=n.data[e];if(null===s)s=function(n,e,t,i,r){const s=jg(),o=Tu(),l=n.data[e]=function(n,e,t,i,r,s){return{type:t,index:i,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,t,e,i,r);return null===n.firstChild&&(n.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l)),l}(n,e,t,i,r),L.lFrame.inI18n&&(s.flags|=64);else if(64&s.type){s.type=t,s.value=i,s.attrs=r;const o=function(){const n=L.lFrame,e=n.currentTNode;return n.isParent?e:e.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return kn(s,!0),s}function Ur(n,e,t,i){if(0===t)return-1;const r=e.length;for(let s=0;s<t;s++)e.push(i),n.blueprint.push(i),n.data.push(null);return r}function ro(n,e,t){La(e);try{const i=n.viewQuery;null!==i&&Vd(1,i,t);const r=n.template;null!==r&&Dy(n,e,r,1,t),n.firstCreatePass&&(n.firstCreatePass=!1),n.staticContentQueries&&Cy(n,e),n.staticViewQueries&&Vd(2,n.viewQuery,t);const s=n.components;null!==s&&function(n,e){for(let t=0;t<e.length;t++)F1(n,e[t])}(e,s)}catch(i){throw n.firstCreatePass&&(n.incompleteFirstPass=!0,n.firstCreatePass=!1),i}finally{e[2]&=-5,Va()}}function $r(n,e,t,i){const r=e[2];if(256==(256&r))return;La(e);const s=Fa();try{Vg(e),function(n){L.lFrame.bindingIndex=n}(n.bindingStartIndex),null!==t&&Dy(n,e,t,2,i);const o=3==(3&r);if(!s)if(o){const c=n.preOrderCheckHooks;null!==c&&ja(e,c,null)}else{const c=n.preOrderHooks;null!==c&&Ha(e,c,0,null),Fu(e,0)}if(function(n){for(let e=ld(n);null!==e;e=cd(e)){if(!e[2])continue;const t=e[9];for(let i=0;i<t.length;i++){const r=t[i],s=r[3];0==(1024&r[2])&&Iu(s,1),r[2]|=1024}}}(e),function(n){for(let e=ld(n);null!==e;e=cd(e))for(let t=10;t<e.length;t++){const i=e[t],r=i[1];Au(i)&&$r(r,i,r.template,i[8])}}(e),null!==n.contentQueries&&Cy(n,e),!s)if(o){const c=n.contentCheckHooks;null!==c&&ja(e,c)}else{const c=n.contentHooks;null!==c&&Ha(e,c,1),Fu(e,1)}!function(n,e){const t=n.hostBindingOpCodes;if(null!==t)try{for(let i=0;i<t.length;i++){const r=t[i];if(r<0)xi(~r);else{const s=r,o=t[++i],a=t[++i];jM(o,s),a(2,e[s])}}}finally{xi(-1)}}(n,e);const a=n.components;null!==a&&function(n,e){for(let t=0;t<e.length;t++)R1(n,e[t])}(e,a);const l=n.viewQuery;if(null!==l&&Vd(2,l,i),!s)if(o){const c=n.viewCheckHooks;null!==c&&ja(e,c)}else{const c=n.viewHooks;null!==c&&Ha(e,c,2),Fu(e,2)}!0===n.firstUpdatePass&&(n.firstUpdatePass=!1),s||(e[2]&=-73),1024&e[2]&&(e[2]&=-1025,Iu(e[3],-1))}finally{Va()}}function g1(n,e,t,i){const r=e[10],s=!Fa(),o=function(n){return 4==(4&n[2])}(e);try{s&&!o&&r.begin&&r.begin(),o&&ro(n,e,i),$r(n,e,t,i)}finally{s&&!o&&r.end&&r.end()}}function Dy(n,e,t,i,r){const s=Ct(),o=2&i;try{xi(-1),o&&e.length>20&&uy(n,e,20,Fa()),t(i,r)}finally{xi(s)}}function xy(n){const e=n.tView;return null===e||e.incompleteFirstPass?n.tView=ll(1,null,n.template,n.decls,n.vars,n.directiveDefs,n.pipeDefs,n.viewQuery,n.schemas,n.consts):e}function ll(n,e,t,i,r,s,o,a,l,c){const u=20+i,d=u+r,h=function(n,e){const t=[];for(let i=0;i<e;i++)t.push(i<n?null:U);return t}(u,d),f="function"==typeof c?c():c;return h[1]={type:n,blueprint:h,template:t,queries:null,viewQuery:a,declTNode:e,data:h.slice().fill(null,u),bindingStartIndex:u,expandoStartIndex:d,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:f,incompleteFirstPass:!1}}function Ay(n,e,t){for(let i in n)if(n.hasOwnProperty(i)){const r=n[i];(t=null===t?{}:t).hasOwnProperty(i)?t[i].push(e,r):t[i]=[e,r]}return t}function Ty(n,e,t,i,r,s){const o=s.hostBindings;if(o){let a=n.hostBindingOpCodes;null===a&&(a=n.hostBindingOpCodes=[]);const l=~e.index;(function(n){let e=n.length;for(;e>0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Oy(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Py(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function A1(n,e,t){if(t){if(e.exportAs)for(let i=0;i<e.exportAs.length;i++)t[e.exportAs[i]]=n;mn(e)&&(t[""]=n)}}function ky(n,e,t){n.flags|=1,n.directiveStart=e,n.directiveEnd=e+t,n.providerIndexes=e}function Ry(n,e,t,i,r){n.data[i]=r;const s=r.factory||(r.factory=Yi(r.type)),o=new Vs(s,mn(r),null);n.blueprint[i]=o,t[i]=o,Ty(n,e,0,i,Ur(n,t,r.hostVars,U),r)}function I1(n,e,t){const i=nn(e,n),r=xy(t),s=n[10],o=cl(n,io(n,r,null,t.onPush?64:16,i,e,s,s.createRenderer(i,t),null,null));n[e.index]=o}function Vn(n,e,t,i,r,s){const o=nn(n,e);!function(n,e,t,i,r,s,o){if(null==s)Oe(n)?n.removeAttribute(e,r,t):e.removeAttribute(r);else{const a=null==o?H(s):o(s,i||"",r);Oe(n)?n.setAttribute(e,r,a,t):t?e.setAttributeNS(t,r,a):e.setAttribute(r,a)}}(e[G],o,s,n.value,t,i,r)}function T1(n,e,t,i,r,s){const o=s[e];if(null!==o){const a=i.setInput;for(let l=0;l<o.length;){const c=o[l++],u=o[l++],d=o[l++];null!==a?i.setInput(t,d,c,u):t[u]=d}}}function O1(n,e){let t=null,i=0;for(;i<e.length;){const r=e[i];if(0!==r)if(5!==r){if("number"==typeof r)break;n.hasOwnProperty(r)&&(null===t&&(t=[]),t.push(r,n[r],e[i+1])),i+=2}else i+=2;else i+=4}return t}function R1(n,e){const t=jt(e,n);if(Au(t)){const i=t[1];80&t[2]?$r(i,t,i.template,t[8]):t[5]>0&&Rd(t)}}function Rd(n){for(let i=ld(n);null!==i;i=cd(i))for(let r=10;r<i.length;r++){const s=i[r];if(1024&s[2]){const o=s[1];$r(o,s,o.template,s[8])}else s[5]>0&&Rd(s)}const t=n[1].components;if(null!==t)for(let i=0;i<t.length;i++){const r=jt(t[i],n);Au(r)&&r[5]>0&&Rd(r)}}function F1(n,e){const t=jt(e,n),i=t[1];(function(n,e){for(let t=e.length;t<n.blueprint.length;t++)e.push(n.blueprint[t])})(i,t),ro(i,t,t[8])}function cl(n,e){return n[13]?n[14][4]=e:n[13]=e,n[14]=e,e}function Fd(n){for(;n;){n[2]|=64;const e=to(n);if(vM(n)&&!e)return n;n=e}return null}function Ld(n,e,t){const i=e[10];i.begin&&i.begin();try{$r(n,e,n.template,t)}catch(r){throw jy(e,r),r}finally{i.end&&i.end()}}function Ny(n){!function(n){for(let e=0;e<n.components.length;e++){const t=n.components[e],i=id(t),r=i[1];g1(r,i,r.template,t)}}(n[8])}function Vd(n,e,t){Ru(0),e(n,t)}const j1=(()=>Promise.resolve(null))();function Ly(n){return n[7]||(n[7]=[])}function Vy(n){return n.cleanup||(n.cleanup=[])}function jy(n,e){const t=n[9],i=t?t.get(Vr,null):null;i&&i.handleError(e)}function Hy(n,e,t,i,r){for(let s=0;s<t.length;){const o=t[s++],a=t[s++],l=e[o],c=n.data[o];null!==c.setInput?c.setInput(l,r,i,a):l[a]=r}}function ri(n,e,t){const i=Ra(e,n);!function(n,e,t){Oe(n)?n.setValue(e,t):e.textContent=t}(n[G],i,t)}function ul(n,e,t){let i=t?n.styles:null,r=t?n.classes:null,s=0;if(null!==e)for(let o=0;o<e.length;o++){const a=e[o];"number"==typeof a?s=a:1==s?r=fu(r,a):2==s&&(i=fu(i,a+": "+e[++o]+";"))}t?n.styles=i:n.stylesWithoutHost=i,t?n.classes=r:n.classesWithoutHost=r}const Bd=new z("INJECTOR",-1);class Uy{get(e,t=Gs){if(t===Gs){const i=new Error(`NullInjectorError: No provider for ${le(e)}!`);throw i.name="NullInjectorError",i}return t}}const jd=new z("Set Injector scope."),so={},$1={};let Hd;function $y(){return void 0===Hd&&(Hd=new Uy),Hd}function zy(n,e=null,t=null,i){const r=Wy(n,e,t,i);return r._resolveInjectorDefTypes(),r}function Wy(n,e=null,t=null,i){return new z1(n,t,e||$y(),i)}class z1{constructor(e,t,i,r=null){this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const s=[];t&&Rn(t,a=>this.processProvider(a,e,t)),Rn([e],a=>this.processInjectorType(a,[],s)),this.records.set(Bd,zr(void 0,this));const o=this.records.get(jd);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:le(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Gs,i=$.Default){this.assertNotDestroyed();const r=pm(this),s=bi(void 0);try{if(!(i&$.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=("function"==typeof(n=e)||"object"==typeof n&&n instanceof z)&&gu(e);a=l&&this.injectableDefInScope(l)?zr(Ud(e),so):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&$.Self?$y():this.parent).get(e,t=i&$.Optional&&t===Gs?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ja]=o[Ja]||[]).unshift(le(e)),r)throw o;return function(n,e,t,i){const r=n[Ja];throw e[fm]&&r.unshift(e[fm]),n.message=function(n,e,t,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.substr(2):n;let r=le(e);if(Array.isArray(e))r=e.map(le).join(" -> ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):le(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(bS,"\n  ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ja]=null,n}(o,e,"R3InjectorError",this.source)}throw o}finally{bi(s),pm(r)}var n}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(le(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=W(e)))return!1;let r=Dg(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Dg(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{Rn(r.imports,d=>{this.processInjectorType(d,t,i)&&(void 0===u&&(u=[]),u.push(d))})}finally{}if(void 0!==u)for(let d=0;d<u.length;d++){const{ngModule:h,providers:f}=u[d];Rn(f,p=>this.processProvider(p,h,f||ye))}}this.injectorDefTypes.add(o);const l=Yi(o)||(()=>new o);this.records.set(o,zr(l,so));const c=r.providers;if(null!=c&&!a){const u=e;Rn(c,d=>this.processProvider(d,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Wr(e=W(e))?e:W(e&&e.provide);const s=(n=e,qy(n)?zr(void 0,n.useValue):zr(Gy(n),so));var n;if(Wr(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zr(void 0,so,!0),o.factory=()=>qu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===so&&(t.value=$1,t.value=t.factory()),"object"==typeof t.value&&t.value&&null!==(n=t.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(t.value),t.value;var n}injectableDefInScope(e){if(!e.providedIn)return!1;const t=W(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ud(n){const e=gu(n),t=null!==e?e.factory:Yi(n);if(null!==t)return t;if(n instanceof z)throw new Error(`Token ${le(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=function(n,e){const t=[];for(let i=0;i<n;i++)t.push(e);return t}(e,"?");throw new Error(`Can't resolve all parameters for ${le(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[Sa]||n[wg]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Gy(n,e,t){let i;if(Wr(n)){const r=W(n);return Yi(r)||Ud(r)}if(qy(n))i=()=>W(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...qu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>P(W(n.useExisting));else{const r=W(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Yi(r)||Ud(r);i=()=>new r(...qu(n.deps))}return i}function zr(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function qy(n){return null!==n&&"object"==typeof n&&DS in n}function Wr(n){return"function"==typeof n}let rt=(()=>{class n{static create(t,i){var r;if(Array.isArray(t))return zy({name:""},i,t,"");{const s=null!==(r=t.name)&&void 0!==r?r:"";return zy({name:s},t.parent,t.providers,s)}}}return n.THROW_IF_NOT_FOUND=Gs,n.NULL=new Uy,n.\u0275prov=B({token:n,providedIn:"any",factory:()=>P(Bd)}),n.__NG_ELEMENT_ID__=-1,n})();function oI(n,e){Ba(id(n)[1],Ke())}function Ce(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(mn(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=Wd(n.inputs),o.declaredInputs=Wd(n.declaredInputs),o.outputs=Wd(n.outputs);const a=r.hostBindings;a&&uI(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&lI(n,l),c&&cI(n,c),hu(n.inputs,r.inputs),hu(n.declaredInputs,r.declaredInputs),hu(n.outputs,r.outputs),mn(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(n),a===Ce&&(t=!1)}}e=Object.getPrototypeOf(e)}!function(n){let e=0,t=null;for(let i=n.length-1;i>=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=$a(r.hostAttrs,t=$a(t,r.hostAttrs))}}(i)}function Wd(n){return n===br?{}:n===ye?[]:n}function lI(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function cI(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function uI(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}let dl=null;function Gr(){if(!dl){const n=ge.Symbol;if(n&&n.iterator)dl=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const i=e[t];"entries"!==i&&"size"!==i&&Map.prototype[i]===Map.prototype.entries&&(dl=i)}}}return dl}function oo(n){return!!Gd(n)&&(Array.isArray(n)||!(n instanceof Map)&&Gr()in n)}function Gd(n){return null!==n&&("function"==typeof n||"object"==typeof n)}function dt(n,e,t){return!Object.is(n[e],t)&&(n[e]=t,!0)}function jn(n,e,t,i){const r=E();return dt(r,Mr(),e)&&(ce(),Vn(Pe(),r,n,e,t,i)),jn}function x(n,e=$.Default){const t=E();return null===t?P(n,e):im(Ke(),t,W(n),e)}function Zd(){throw new Error("invalid")}function Ze(n,e,t){const i=E();return dt(i,Mr(),e)&&function(n,e,t,i,r,s,o,a){const l=nn(e,t);let u,c=e.inputs;!a&&null!=c&&(u=c[i])?(Hy(n,t,u,i,r),Pa(e)&&function(n,e){const t=jt(e,n);16&t[2]||(t[2]|=64)}(t,e.index)):3&e.type&&(i=function(n){return"class"===n?"className":"for"===n?"htmlFor":"formaction"===n?"formAction":"innerHtml"===n?"innerHTML":"readonly"===n?"readOnly":"tabindex"===n?"tabIndex":n}(i),r=null!=o?o(r,e.value||"",i):r,Oe(s)?s.setProperty(l,i,r):Lu(i)||(l.setProperty?l.setProperty(i,r):l[i]=r))}(ce(),Pe(),i,n,e,i[G],t,!1),Ze}function Xd(n,e,t,i,r){const o=r?"class":"style";Hy(n,t,e.inputs[o],o,i)}function m(n,e,t,i){const r=E(),s=ce(),o=20+n,a=r[G],l=r[o]=dd(a,e,L.lFrame.currentNamespace),c=s.firstCreatePass?function(n,e,t,i,r,s,o){const a=e.consts,c=Hr(e,n,2,r,wi(a,s));return function(n,e,t,i){let r=!1;if(Bg()){const s=function(n,e,t){const i=n.directiveRegistry;let r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];ly(t,o.selectors,!1)&&(r||(r=[]),Ga(js(t,e),n,o.type),mn(o)?(Py(n,t),r.unshift(o)):r.push(o))}return r}(n,e,t),o=null===i?null:{"":-1};if(null!==s){r=!0,ky(t,n.data.length,s.length);for(let u=0;u<s.length;u++){const d=s[u];d.providersResolver&&d.providersResolver(d)}let a=!1,l=!1,c=Ur(n,e,s.length,null);for(let u=0;u<s.length;u++){const d=s[u];t.mergedAttrs=$a(t.mergedAttrs,d.hostAttrs),Ry(n,t,e,c,d),A1(c,d,o),null!==d.contentQueries&&(t.flags|=8),(null!==d.hostBindings||null!==d.hostAttrs||0!==d.hostVars)&&(t.flags|=128);const h=d.type.prototype;!a&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t.index),a=!0),!l&&(h.ngOnChanges||h.ngDoCheck)&&((n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t.index),l=!0),c++}!function(n,e){const i=e.directiveEnd,r=n.data,s=e.attrs,o=[];let a=null,l=null;for(let c=e.directiveStart;c<i;c++){const u=r[c],d=u.inputs,h=null===s||ay(e)?null:O1(d,s);o.push(h),a=Ay(d,c,a),l=Ay(u.outputs,c,l)}null!==a&&(a.hasOwnProperty("class")&&(e.flags|=16),a.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=o,e.inputs=a,e.outputs=l}(n,t)}o&&function(n,e,t){if(e){const i=n.localNames=[];for(let r=0;r<e.length;r+=2){const s=t[e[r+1]];if(null==s)throw new Ft("301",`Export of name '${e[r+1]}' not found!`);i.push(e[r],s)}}}(t,i,o)}t.mergedAttrs=$a(t.mergedAttrs,t.attrs)}(e,t,c,wi(a,o)),null!==c.attrs&&ul(c,c.attrs,!1),null!==c.mergedAttrs&&ul(c,c.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,c),c}(o,s,r,0,e,t,i):s.data[o];kn(c,!0);const u=c.mergedAttrs;null!==u&&Ua(a,l,u);const d=c.classes;null!==d&&yd(a,l,d);const h=c.styles;null!==h&&ry(a,l,h),64!=(64&c.flags)&&il(s,r,l,c),0===L.lFrame.elementDepthCount&&ut(l,r),L.lFrame.elementDepthCount++,ka(c)&&(function(n,e,t){!Bg()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||js(t,e),ut(i,e);const o=t.initialInputs;for(let a=r;a<s;a++){const l=n.data[a],c=mn(l);c&&I1(e,t,l);const u=Hs(e,n,a,t);ut(u,e),null!==o&&T1(0,a-r,u,l,0,o),c&&(jt(t.index,e)[8]=u)}}(n,e,t,nn(t,e)),128==(128&t.flags)&&function(n,e,t){const i=t.directiveStart,r=t.directiveEnd,o=t.index,a=L.lFrame.currentDirectiveIndex;try{xi(o);for(let l=i;l<r;l++){const c=n.data[l],u=e[l];Pu(l),(null!==c.hostBindings||0!==c.hostVars||null!==c.hostAttrs)&&Oy(c,u)}}finally{xi(-1),Pu(a)}}(n,e,t))}(s,r,c),function(n,e,t){if(Du(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s<r;s++){const o=n.data[s];o.contentQueries&&o.contentQueries(1,t[s],s)}}}(s,c,r)),null!==i&&function(n,e,t=nn){const i=e.localNames;if(null!==i){let r=e.index+1;for(let s=0;s<i.length;s+=2){const o=i[s+1],a=-1===o?t(e,n):n[o];n[r++]=a}}}(r,c)}function y(){let n=Ke();Tu()?L.lFrame.isParent=!1:(n=n.parent,kn(n,!1));const e=n;L.lFrame.elementDepthCount--;const t=ce();t.firstCreatePass&&(Ba(t,n),Du(n)&&t.queries.elementEnd(n)),null!=e.classesWithoutHost&&function(n){return 0!=(16&n.flags)}(e)&&Xd(t,e,E(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function(n){return 0!=(32&n.flags)}(e)&&Xd(t,e,E(),e.stylesWithoutHost,!1)}function Q(n,e,t,i){m(n,e,t,i),y()}function lo(n){return!!n&&"function"==typeof n.then}const Qd=function(n){return!!n&&"function"==typeof n.subscribe};function q(n,e,t,i){const r=E(),s=ce(),o=Ke();return function(n,e,t,i,r,s,o,a){const l=ka(i),u=n.firstCreatePass&&Vy(n),d=e[8],h=Ly(e);let f=!0;if(3&i.type||a){const _=nn(i,e),v=a?a(_):_,b=h.length,D=a?C=>a(Ue(C[i.index])):i.index;if(Oe(t)){let C=null;if(!a&&l&&(C=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===t&&r[s+1]===i){const a=e[7],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=s,C.__ngLastListenerFn__=s,f=!1;else{s=eh(i,e,d,s,!1);const w=t.listen(v,r,s);h.push(s,w),u&&u.push(r,D,b,b+1)}}else s=eh(i,e,d,s,!0),v.addEventListener(r,s,o),h.push(s),u&&u.push(r,D,b,o)}else s=eh(i,e,d,s,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const _=g.length;if(_)for(let v=0;v<_;v+=2){const M=e[g[v]][g[v+1]].subscribe(s),A=h.length;h.push(s,M),u&&u.push(r,i.index,A,-(A+1))}}}(s,r,r[G],o,n,e,!!t,i),q}function T_(n,e,t,i){try{return!1!==t(i)}catch(r){return jy(n,r),!1}}function eh(n,e,t,i,r){return function s(o){if(o===Function)return i;const a=2&n.flags?jt(n.index,e):e;0==(32&e[2])&&Fd(a);let l=T_(e,0,i,o),c=s.__ngNextListenerFn__;for(;c;)l=T_(e,0,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(o.preventDefault(),o.returnValue=!1),l}}function j_(n,e,t,i,r){const s=n[t+1],o=null===e;let a=i?_n(s):ii(s),l=!1;for(;0!==a&&(!1===l||o);){const u=n[a+1];ZI(n[a],e)&&(l=!0,n[a+1]=i?bd(u):_d(u)),a=i?_n(u):ii(u)}l&&(n[t+1]=i?_d(s):bd(s))}function ZI(n,e){return null===n||null==e||(Array.isArray(n)?n[1]:n)===e||!(!Array.isArray(n)||"string"!=typeof e)&&Rr(n,e)>=0}function pl(n,e){return function(n,e,t,i){const r=E(),s=ce(),o=function(n){const e=L.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}(2);s.firstUpdatePass&&function(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Ct()],o=function(n,e){return e>=n.expandoStartIndex}(n,t);(function(n,e){return 0!=(n.flags&(e?16:32))})(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=function(n){const e=L.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=co(t=nh(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=nh(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==ii(i))return n[_n(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=nh(null,n,e,l[1],i),l=co(l,e.attrs,i),function(n,e,t,i){n[_n(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s<r;s++)i=co(i,n[s].hostAttrs,t);return co(i,e.attrs,t)}(n,e,i)}return void 0!==s&&(i?e.residualClasses=s:e.residualStyles=s),t}(r,s,e,i),function(n,e,t,i,r,s){let o=s?e.classBindings:e.styleBindings,a=_n(o),l=ii(o);n[i]=t;let u,c=!1;if(Array.isArray(t)){const d=t;u=d[1],(null===u||Rr(d,u)>0)&&(c=!0)}else u=t;if(r)if(0!==l){const h=_n(n[a+1]);n[i+1]=sl(h,a),0!==h&&(n[h+1]=vd(n[h+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=sl(a,0),0!==a&&(n[a+1]=vd(n[a+1],i)),a=i;else n[i+1]=sl(l,0),0===a?a=i:n[l+1]=vd(n[l+1],i),l=i;c&&(n[i+1]=_d(n[i+1])),j_(n,u,i,!0),j_(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Rr(s,e)>=0&&(t[i+1]=bd(t[i+1]))}(e,u,n,i,s),o=sl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}(s,n,o,i),e!==U&&dt(r,o,e)&&function(n,e,t,i,r,s,o,a){if(!(3&e.type))return;const l=n.data,c=l[a+1];gl(function(n){return 1==(1&n)}(c)?X_(l,e,t,r,ii(c),o):void 0)||(gl(s)||function(n){return 2==(2&n)}(c)&&(s=X_(l,null,t,r,a,o)),function(n,e,t,i,r){const s=Oe(n);if(e)r?s?n.addClass(t,i):t.classList.add(i):s?n.removeClass(t,i):t.classList.remove(i);else{let o=-1===i.indexOf("-")?void 0:$t.DashCase;if(null==r)s?n.removeStyle(t,i,o):t.style.removeProperty(i);else{const a="string"==typeof r&&r.endsWith("!important");a&&(r=r.slice(0,-10),o|=$t.Important),s?n.setStyle(t,i,r,o):t.style.setProperty(i,r,a?"important":"")}}}(i,o,Ra(Ct(),t),r,s))}(s,s.data[Ct()],r,r[G],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=le(function(n){return n instanceof class{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}?n.changingThisBreaksApplicationSecurity:n}(n)))),n}(e,t),i,o)}(n,e,null,!0),pl}function nh(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<o&&(s=e[a],i=co(i,s.hostAttrs,r),s!==n);)a++;return null!==n&&(t.directiveStylingLast=a),i}function co(n,e,t){const i=t?1:2;let r=-1;if(null!==e)for(let s=0;s<e.length;s++){const o=e[s];"number"==typeof o?r=o:r===i&&(Array.isArray(n)||(n=void 0===n?[]:["",n]),Ut(n,o,!!t||e[++s]))}return void 0===n?null:n}function X_(n,e,t,i,r,s){const o=null===e;let a;for(;r>0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===U&&(h=d?ye:void 0);let f=d?zu(h,i):u===i?h:void 0;if(c&&!gl(f)&&(f=zu(l,i)),gl(f)&&(a=f,o))return a;const p=n[r+1];r=o?_n(p):ii(p)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=zu(l,i))}return a}function gl(n){return void 0!==n}function S(n,e=""){const t=E(),i=ce(),r=n+20,s=i.firstCreatePass?Hr(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Oe(n)?n.createText(e):n.createTextNode(e)}(t[G],e);il(i,t,o,s),kn(s,!1)}function Wt(n){return $n("",n,""),Wt}function $n(n,e,t){const i=E(),r=function(n,e,t,i){return dt(n,Mr(),t)?e+H(t)+i:U}(i,n,e,t);return r!==U&&ri(i,Ct(),r),$n}const Zi=void 0;var PT=["en",[["a","p"],["AM","PM"],Zi],[["AM","PM"],Zi,Zi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Zi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Zi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Zi,"{1} 'at' {0}",Zi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===i?1:5}];let rs={};function bv(n){return n in rs||(rs[n]=ge.ng&&ge.ng.common&&ge.ng.common.locales&&ge.ng.common.locales[n]),rs[n]}var T=(()=>((T=T||{})[T.LocaleId=0]="LocaleId",T[T.DayPeriodsFormat=1]="DayPeriodsFormat",T[T.DayPeriodsStandalone=2]="DayPeriodsStandalone",T[T.DaysFormat=3]="DaysFormat",T[T.DaysStandalone=4]="DaysStandalone",T[T.MonthsFormat=5]="MonthsFormat",T[T.MonthsStandalone=6]="MonthsStandalone",T[T.Eras=7]="Eras",T[T.FirstDayOfWeek=8]="FirstDayOfWeek",T[T.WeekendRange=9]="WeekendRange",T[T.DateFormat=10]="DateFormat",T[T.TimeFormat=11]="TimeFormat",T[T.DateTimeFormat=12]="DateTimeFormat",T[T.NumberSymbols=13]="NumberSymbols",T[T.NumberFormats=14]="NumberFormats",T[T.CurrencyCode=15]="CurrencyCode",T[T.CurrencySymbol=16]="CurrencySymbol",T[T.CurrencyName=17]="CurrencyName",T[T.Currencies=18]="Currencies",T[T.Directionality=19]="Directionality",T[T.PluralCase=20]="PluralCase",T[T.ExtraData=21]="ExtraData",T))();const ml="en-US";let Cv=ml;function sh(n,e,t,i,r){if(n=W(n),Array.isArray(n))for(let s=0;s<n.length;s++)sh(n[s],e,t,i,r);else{const s=ce(),o=E();let a=Wr(n)?n:W(n.provide),l=Gy(n);const c=Ke(),u=1048575&c.providerIndexes,d=c.directiveStart,h=c.providerIndexes>>20;if(Wr(n)||!n.multi){const f=new Vs(l,r,x),p=ah(a,e,r?u:u+h,d);-1===p?(Ga(js(c,o),s,a),oh(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(f),o.push(f)):(t[p]=f,o[p]=f)}else{const f=ah(a,e,u+h,d),p=ah(a,e,u,u+h),g=f>=0&&t[f],_=p>=0&&t[p];if(r&&!_||!r&&!g){Ga(js(c,o),s,a);const v=function(n,e,t,i,r){const s=new Vs(n,t,x);return s.multi=[],s.index=e,s.componentProviders=0,Wv(s,r,i&&!t),s}(r?OO:TO,t.length,r,i,l);!r&&_&&(t[p].providerFactory=v),oh(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(v),o.push(v)}else oh(s,n,f>-1?f:p,Wv(t[r?p:f],l,!r&&i));!r&&i&&_&&t[p].componentProviders++}}}function oh(n,e,t,i){const r=Wr(e),s=function(n){return!!n.useClass}(e);if(r||s){const l=(s?W(e.useClass):e).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Wv(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function ah(n,e,t,i){for(let r=t;r<i;r++)if(e[r]===n)return r;return-1}function TO(n,e,t,i){return lh(this.multi,[])}function OO(n,e,t,i){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Hs(t,t[1],this.providerFactory.index,i);s=a.slice(0,o),lh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],lh(r,s);return s}function lh(n,e){for(let t=0;t<n.length;t++)e.push((0,n[t])());return e}function Se(n,e=[]){return t=>{t.providersResolver=(i,r)=>function(n,e,t){const i=ce();if(i.firstCreatePass){const r=mn(n);sh(t,i.data,i.blueprint,r,!0),sh(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class Gv{}class FO{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${le(n)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=n,e}(e)}}let os=(()=>{class n{}return n.NULL=new FO,n})();function NO(){return as(Ke(),E())}function as(n,e){return new Gt(nn(n,e))}let Gt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=NO,n})();class Yv{}let si=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function(){const n=E(),t=jt(Ke().index,n);return function(n){return n[G]}(Pn(t)?t:n)}(),n})(),jO=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>null}),n})();class go{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const HO=new go("13.1.1"),ch={};function Cl(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Ue(s)),gn(s))for(let a=10;a<s.length;a++){const l=s[a],c=l[1].firstChild;null!==c&&Cl(l[1],l,c,i)}const o=t.type;if(8&o)Cl(n,e,t.child,i);else if(32&o){const a=ad(t,e);let l;for(;l=a();)i.push(l)}else if(16&o){const a=ty(e,t);if(Array.isArray(a))i.push(...a);else{const l=to(e[16]);Cl(l[1],l,a,i,!0)}}t=r?t.projectionNext:t.next}return i}class mo{constructor(e,t){this._lView=e,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,t=e[1];return Cl(t,e,t.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(gn(e)){const t=e[8],i=t?t.indexOf(this):-1;i>-1&&(hd(e,i),Ya(t,i))}this._attachedToViewContainer=!1}Gm(this._lView[1],this._lView)}onDestroy(e){!function(n,e,t,i){const r=Ly(e);null===t?r.push(i):(r.push(t),n.firstCreatePass&&Vy(n).push(i,r.length-1))}(this._lView[1],this._lView,null,e)}markForCheck(){Fd(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ld(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Na(!0);try{Ld(n,e,t)}finally{Na(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var e;this._appRef=null,no(this._lView[1],e=this._lView,e[G],2,null,null)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class UO extends mo{constructor(e){super(e),this._view=e}detectChanges(){Ny(this._view)}checkNoChanges(){!function(n){Na(!0);try{Ny(n)}finally{Na(!1)}}(this._view)}get context(){return null}}class Kv extends os{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const t=lt(e);return new uh(t,this.ngModule)}}function Jv(n){const e=[];for(let t in n)n.hasOwnProperty(t)&&e.push({propName:n[t],templateName:t});return e}const zO=new z("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Vm});class uh extends Gv{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=e.selectors.map(QA).join(","),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return Jv(this.componentDef.inputs)}get outputs(){return Jv(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,ch,r);return s!==ch||i===ch?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Yv,Ng),a=s.get(jO,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(Oe(n))return n.selectRootElement(e,t===Tn.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):dd(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),d=this.componentDef.onPush?576:528,h=function(n,e){return{components:[],scheduler:n||Vm,clean:j1,playerHandler:e||null,flags:0}}(),f=ll(0,null,null,1,0,null,null,null,null,null),p=io(null,f,h,d,null,null,o,l,a,s);let g,_;La(p);try{const v=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Hr(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(ul(l,c,!0),null!==n&&(Ua(r,n,c),null!==l.classes&&yd(r,n,l.classes),null!==l.styles&&ry(r,n,l.styles)));const u=i.createRenderer(n,e),d=io(t,xy(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Ga(js(l,t),o,e.type),Py(o,l),ky(l,t.length,1)),cl(t,d),t[20]=d}(u,this.componentDef,p,o,l);if(u)if(i)Ua(l,u,["ng-version",HO.full]);else{const{attrs:b,classes:D}=function(n){const e=[],t=[];let i=1,r=2;for(;i<n.length;){let s=n[i];if("string"==typeof s)2===r?""!==s&&e.push(s,n[++i]):8===r&&t.push(s);else{if(!yn(r))break;r=s}i++}return{attrs:e,classes:t}}(this.componentDef.selectors[0]);b&&Ua(l,u,b),D&&D.length>0&&yd(l,u,D.join(" "))}if(_=Su(f,20),void 0!==t){const b=_.projection=[];for(let D=0;D<this.ngContentSelectors.length;D++){const C=t[D];b.push(null!=C?Array.from(C):null)}}g=function(n,e,t,i,r){const s=t[1],o=function(n,e,t){const i=Ke();n.firstCreatePass&&(t.providersResolver&&t.providersResolver(t),Ry(n,i,e,Ur(n,e,1,null),t));const r=Hs(e,n,i.directiveStart,i);ut(r,e);const s=nn(i,e);return s&&ut(s,e),r}(s,t,e);if(i.components.push(o),n[8]=o,r&&r.forEach(l=>l(o,e)),e.contentQueries){const l=Ke();e.contentQueries(1,o,l.directiveStart)}const a=Ke();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(xi(a.index),Ty(t[1],a,0,a.directiveStart,a.directiveEnd,e),Oy(e,o)),o}(v,this.componentDef,p,h,[oI]),ro(f,p,null)}finally{Va()}return new qO(this.componentType,g,as(_,p),p,_)}}class qO extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new UO(r),this.componentType=e}get injector(){return new Ir(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}class oi{}class Zv{}const ls=new Map;class eb extends oi{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Kv(this);const i=Qt(e);this._bootstrapComponents=Ln(i.bootstrap),this._r3Injector=Wy(e,t,[{provide:oi,useValue:this},{provide:os,useValue:this.componentFactoryResolver}],le(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=rt.THROW_IF_NOT_FOUND,i=$.Default){return e===rt||e===oi||e===Bd?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class dh extends Zv{constructor(e){super(),this.moduleType=e,null!==Qt(e)&&function(n){const e=new Set;!function t(i){const r=Qt(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${le(e)} vs ${le(e.name)}`)}(s,ls.get(s),i),ls.set(s,i));const o=Ln(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new eb(this.moduleType,e)}}function hh(n){return e=>{setTimeout(n,void 0,e)}}const Re=class extends Jt{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const d=e;a=null===(r=d.next)||void 0===r?void 0:r.bind(d),l=null===(s=d.error)||void 0===s?void 0:s.bind(d),c=null===(o=d.complete)||void 0===o?void 0:o.bind(d)}this.__isAsync&&(l=hh(l),a&&(a=hh(a)),c&&(c=hh(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof Rt&&e.add(u),u}};Symbol;let Dn=(()=>{class n{}return n.__NG_ELEMENT_ID__=_P,n})();function _P(){return function(n,e){let t;const i=e[n.index];if(gn(i))t=i;else{let r;if(8&n.type)r=Ue(i);else{const s=e[G];r=s.createComment("");const o=nn(n,e);Ki(s,nl(s,o),r,function(n,e){return Oe(n)?n.nextSibling(e):e.nextSibling}(s,o),!1)}e[n.index]=t=function(n,e,t,i){return new Array(n,!0,!1,e,null,0,i,t,null,null)}(i,e,r,n),cl(e,t)}return new ob(t,n,e)}(Ke(),E())}const vP=Dn,ob=class extends vP{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return as(this._hostTNode,this._hostLView)}get injector(){return new Ir(this._hostTNode,this._hostLView)}get parentInjector(){const e=Wa(this._hostTNode,this._hostLView);if(Xg(e)){const t=Ar(e,this._hostLView),i=Sr(e);return new Ir(t[1].data[i+8],t)}return new Ir(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=ab(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=e&&!("function"==typeof e);let a;if(o)a=t;else{const d=t||{};a=d.index,i=d.injector,r=d.projectableNodes,s=d.ngModuleRef}const l=o?e:new uh(lt(e)),c=i||this.parentInjector;if(!s&&null==l.ngModule&&c){const d=c.get(oi,null);d&&(s=d)}const u=l.create(c,r,void 0,s);return this.insert(u.hostView,a),u}insert(e,t){const i=e._lView,r=i[1];if(gn(i[3])){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const d=i[3],h=new ob(d,d[6],d[3]);h.detach(h.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),i<s-10?(e[4]=t[r],lm(t,10+i,e)):(t.push(e),e[4]=null),e[3]=t;const o=e[17];null!==o&&t!==o&&function(n,e){const t=n[9];e[16]!==e[3][3][16]&&(n[2]=!0),null===t?n[9]=[e]:t.push(e)}(o,e);const a=e[19];null!==a&&a.insertView(n),e[2]|=128}(r,i,o,s);const a=gd(s,o),l=i[G],c=nl(l,o[7]);return null!==c&&function(n,e,t,i,r,s){i[0]=r,i[6]=e,no(n,i,t,1,r,s)}(r,o[6],l,i,c,a),e.attachToViewContainerRef(),lm(ph(o),s,e),e}move(e,t){return this.insert(e,t)}indexOf(e){const t=ab(this._lContainer);return null!==t?t.indexOf(e):-1}remove(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);i&&(Ya(ph(this._lContainer),t),Gm(i[1],i))}detach(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);return i&&null!=Ya(ph(this._lContainer),t)?new mo(i):null}_adjustIndex(e,t=0){return null==e?this.length+t:e}};function ab(n){return n[8]}function ph(n){return n[8]||(n[8]=[])}function El(...n){}const bo=new z("Application Initializer");let us=(()=>{class n{constructor(t){this.appInits=t,this.resolve=El,this.reject=El,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r<this.appInits.length;r++){const s=this.appInits[r]();if(lo(s))t.push(s);else if(Qd(s)){const o=new Promise((a,l)=>{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(P(bo,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Co=new z("AppId"),qP={provide:Co,useFactory:function(){return`${Ah()}${Ah()}${Ah()}`},deps:[]};function Ah(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Tb=new z("Platform Initializer"),ds=new z("Platform ID"),Ob=new z("appBootstrapListener");let Pb=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Ii=new z("LocaleId"),kb=new z("DefaultCurrencyCode");class YP{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}let Ml=(()=>{class n{compileModuleSync(t){return new dh(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),s=Ln(Qt(t).declarations).reduce((o,a)=>{const l=lt(a);return l&&o.push(new uh(l)),o},[]);return new YP(i,s)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const JP=(()=>Promise.resolve(0))();function Ih(n){"undefined"==typeof Zone?JP.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class ze{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Re(!1),this.onMicrotaskEmpty=new Re(!1),this.onStable=new Re(!1),this.onError=new Re(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=ge.requestAnimationFrame,e=ge.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(ge,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,Oh(n),n.isCheckStableRunning=!0,Th(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),Oh(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return Rb(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),Fb(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return Rb(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),Fb(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,Oh(n),Th(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ze.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(ze.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,XP,El,El);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const XP={};function Th(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function Oh(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function Rb(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function Fb(n){n._nesting--,Th(n)}class tk{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Re,this.onMicrotaskEmpty=new Re,this.onStable=new Re,this.onError=new Re}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let Ph=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ze.assertNotInAngularZone(),Ih(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ih(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Nb=(()=>{class n{constructor(){this._applications=new Map,kh.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return kh.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class nk{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let wn,kh=new nk;const Lb=new z("AllowMultipleToken");class Vb{constructor(e,t){this.name=e,this.token=t}}function Bb(n,e,t=[]){const i=`Platform: ${e}`,r=new z(i);return(s=[])=>{let o=jb();if(!o||o.injector.get(Lb,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:jd,useValue:"platform"});!function(n){if(wn&&!wn.destroyed&&!wn.injector.get(Lb,!1))throw new Ft("400","");wn=n.get(Hb);const e=n.get(Tb,null);e&&e.forEach(t=>t())}(rt.create({providers:a,name:i}))}return function(n){const e=jb();if(!e)throw new Ft("401","");return e}()}}function jb(){return wn&&!wn.destroyed?wn:null}let Hb=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tk:("zone.js"===n?void 0:n)||new ze({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:ze,useValue:a}];return a.run(()=>{const c=rt.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),d=u.injector.get(Vr,null);if(!d)throw new Ft("402","");return a.runOutsideAngular(()=>{const h=a.onError.subscribe({next:f=>{d.handleError(f)}});u.onDestroy(()=>{Rh(this._modules,u),h.unsubscribe()})}),function(n,e,t){try{const i=t();return lo(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(d,a,()=>{const h=u.injector.get(us);return h.runInitializers(),h.donePromise.then(()=>(function(n){Lt(n,"Expected localeId to be defined"),"string"==typeof n&&(Cv=n.toLowerCase().replace(/_/g,"-"))}(u.injector.get(Ii,ml)||ml),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=Ub({},i);return function(n,e,t){const i=new dh(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(hs);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Ft("403","");t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Ft("404","");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Ub(n,e){return Array.isArray(e)?e.reduce(Ub,n):Object.assign(Object.assign({},n),e)}let hs=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new fe(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new fe(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{ze.assertNotInAngularZone(),Ih(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const d=this._zone.onUnstable.subscribe(()=>{ze.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),d.unsubscribe()}});this.isStable=Ea(a,l.pipe(function(n={}){const{connector:e=(()=>new Jt),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=n;return s=>{let o=null,a=null,l=null,c=0,u=!1,d=!1;const h=()=>{null==a||a.unsubscribe(),a=null},f=()=>{h(),o=l=null,u=d=!1},p=()=>{const g=o;f(),null==g||g.unsubscribe()};return je((g,_)=>{c++,!d&&!u&&h();const v=l=null!=l?l:e();_.add(()=>{c--,0===c&&!d&&!u&&(a=du(p,r))}),v.subscribe(_),o||(o=new ru({next:b=>v.next(b),error:b=>{d=!0,h(),a=du(f,t,b),v.error(b)},complete:()=>{u=!0,h(),a=du(f,i),v.complete()}}),Ye(g).subscribe(o))})(s)}}()))}bootstrap(t,i){if(!this._initStatus.done)throw new Ft("405","");let r;r=t instanceof Gv?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(oi),a=r.create(rt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(Ph,null),u=c&&a.injector.get(Nb);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),Rh(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Ft("101","");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;Rh(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ob,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(P(ze),P(rt),P(Vr),P(os),P(us))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Rh(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}let Fh=(()=>{class n{}return n.__NG_ELEMENT_ID__=fk,n})();function fk(n){return function(n,e,t){if(Pa(n)&&!t){const i=jt(n.index,e);return new mo(i,i)}return 47&n.type?new mo(e[16],e):null}(Ke(),E(),16==(16&n))}class Zb{constructor(){}supports(e){return oo(e)}create(e){return new bk(e)}}const vk=(n,e)=>e;class bk{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||vk}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<Qb(i,r,s)?t:i,a=Qb(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let h=0;h<c;h++){const f=h<s.length?s[h]:s[h]=0,p=f+h;u<=p&&p<c&&(s[h]=f+1)}s[o.previousIndex]=u-c}}a!==l&&e(o,a,l)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!oo(e))throw new Error(`Error trying to diff '${le(e)}'. Only arrays and iterables are allowed`);return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let r,s,o,t=this._itHead,i=!1;if(Array.isArray(e)){this.length=e.length;for(let a=0;a<this.length;a++)s=e[a],o=this._trackByFn(a,s),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,s,o,a)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,o,a),i=!0),t=t._next}else r=0,function(n,e){if(Array.isArray(n))for(let t=0;t<n.length;t++)e(n[t]);else{const t=n[Gr()]();let i;for(;!(i=t.next()).done;)e(i.value)}}(e,a=>{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new Ck(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new Xb),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xb),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class Ck{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Dk{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class Xb{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new Dk,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Qb(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i<t.length&&(r=t[i]),i+e+r}class eC{constructor(){}supports(e){return e instanceof Map||Gd(e)}create(){return new wk}}class wk{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(e){let t;for(t=this._mapHead;null!==t;t=t._next)e(t)}forEachPreviousItem(e){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)}forEachChangedItem(e){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}diff(e){if(e){if(!(e instanceof Map||Gd(e)))throw new Error(`Error trying to diff '${le(e)}'. Only maps and objects are allowed`)}else e=new Map;return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(e,(i,r)=>{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xk(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xk{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function tC(){return new Do([new Zb])}let Do=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||tC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:tC}),n})();function nC(){return new fs([new eC])}let fs=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||nC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:nC}),n})();const Mk=[new eC],Ak=new Do([new Zb]),Ik=new fs(Mk),Tk=Bb(null,"core",[{provide:ds,useValue:"unknown"},{provide:Hb,deps:[rt]},{provide:Nb,deps:[]},{provide:Pb,deps:[]}]),Fk=[{provide:hs,useClass:hs,deps:[ze,rt,Vr,os,us]},{provide:zO,deps:[ze],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:us,useClass:us,deps:[[new Fn,bo]]},{provide:Ml,useClass:Ml,deps:[]},qP,{provide:Do,useFactory:function(){return Ak},deps:[]},{provide:fs,useFactory:function(){return Ik},deps:[]},{provide:Ii,useFactory:function(n){return n||"undefined"!=typeof $localize&&$localize.locale||ml},deps:[[new Ks(Ii),new Fn,new Fr]]},{provide:kb,useValue:"USD"}];let Lk=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(P(hs))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:Fk}),n})(),Al=null;function zn(){return Al}const qt=new z("DocumentToken");let Qi=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return P(iC)},providedIn:"platform"}),n})();const Uk=new z("Location Initialized");let iC=(()=>{class n extends Qi{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return zn().getBaseHref(this._doc)}onPopState(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){rC()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){rC()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:function(){return new iC(P(qt))},providedIn:"platform"}),n})();function rC(){return!!window.history.pushState}function jh(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function sC(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function li(n){return n&&"?"!==n[0]?"?"+n:n}let ps=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return function(n){const e=P(qt).location;return new oC(P(Qi),e&&e.origin||"")}()},providedIn:"root"}),n})();const Il=new z("appBaseHref");let oC=(()=>{class n extends ps{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return jh(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+li(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Wk=(()=>{class n extends ps{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=jh(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Hh=(()=>{class n{constructor(t,i){this._subject=new Re,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=sC(aC(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+li(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,aC(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.normalizeQueryParams=li,n.joinWithSlash=jh,n.stripTrailingSlash=sC,n.\u0275fac=function(t){return new(t||n)(P(ps),P(Qi))},n.\u0275prov=B({token:n,factory:function(){return new Hh(P(ps),P(Qi))},providedIn:"root"}),n})();function aC(n){return n.replace(/\/index.html$/,"")}var We=(()=>((We=We||{})[We.Zero=0]="Zero",We[We.One=1]="One",We[We.Two=2]="Two",We[We.Few=3]="Few",We[We.Many=4]="Many",We[We.Other=5]="Other",We))();const eR=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=bv(e);if(t)return t;const i=e.split("-")[0];if(t=bv(i),t)return t;if("en"===i)return PT;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[T.PluralCase]};class Bl{}let IR=(()=>{class n extends Bl{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(eR(i||this.locale)(t)){case We.Zero:return"zero";case We.One:return"one";case We.Two:return"two";case We.Few:return"few";case We.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(P(Ii))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function mC(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let cF=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[{provide:Bl,useClass:IR}]}),n})();const CC="browser";function DC(n){return n===CC}let fF=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>new pF(P(qt),window)}),n})();class pF{constructor(e,t){this.document=e,this.window=t,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(!this.supportsScrolling())return;const t=function(n,e){const t=n.getElementById(e)||n.getElementsByName(e)[0];if(t)return t;if("function"==typeof n.createTreeWalker&&n.body&&(n.body.createShadowRoot||n.body.attachShadow)){const i=n.createTreeWalker(n.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const s=r.shadowRoot;if(s){const o=s.getElementById(e)||s.querySelector(`[name="${e}"]`);if(o)return o}r=i.nextNode()}}return null}(this.document,e);t&&(this.scrollToElement(t),this.attemptFocus(t))}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=e)}}scrollToElement(e){const t=e.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],r-s[1])}attemptFocus(e){return e.focus(),this.document.activeElement===e}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const e=wC(this.window.history)||wC(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(e){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}function wC(n){return Object.getOwnPropertyDescriptor(n,"scrollRestoration")}class xC{}class ef extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var n;n=new ef,Al||(Al=n)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Eo=Eo||document.querySelector("base"),Eo?Eo.getAttribute("href"):null);return null==t?null:function(n){jl=jl||document.createElement("a"),jl.setAttribute("href",n);const e=jl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Eo=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return mC(document.cookie,e)}}let jl,Eo=null;const EC=new z("TRANSITION_ID"),bF=[{provide:bo,useFactory:function(n,e,t){return()=>{t.get(us).donePromise.then(()=>{const i=zn(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s<r.length;s++)i.remove(r[s])})}},deps:[EC,qt,rt],multi:!0}];class tf{static init(){var n;n=new tf,kh=n}addToWindow(e){ge.getAngularTestability=(i,r=!0)=>{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},ge.getAllAngularTestabilities=()=>e.getAllTestabilities(),ge.getAllAngularRootElements=()=>e.getAllRootElements(),ge.frameworkStabilizers||(ge.frameworkStabilizers=[]),ge.frameworkStabilizers.push(i=>{const r=ge.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?zn().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let CF=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Hl=new z("EventManagerPlugins");let Ul=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s<r.length;s++){const o=r[s];if(o.supports(t))return this._eventNameToPlugin.set(t,o),o}throw new Error(`No event manager plugin found for event ${t}`)}}return n.\u0275fac=function(t){return new(t||n)(P(Hl),P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class MC{constructor(e){this._doc=e}addGlobalEventListener(e,t,i){const r=zn().getGlobalEventTarget(this._doc,e);if(!r)throw new Error(`Unsupported event target ${r} for event ${t}`);return this.addEventListener(r,t,i)}}let SC=(()=>{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Mo=(()=>{class n extends SC{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(AC),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(AC))}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function AC(n){zn().remove(n)}const nf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},rf=/%COMP%/g;function $l(n,e,t){for(let i=0;i<e.length;i++){let r=e[i];Array.isArray(r)?$l(n,r,t):(r=r.replace(rf,n),t.push(r))}return t}function OC(n){return e=>{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sf=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new of(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Tn.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new SF(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Tn.ShadowDom:return new AF(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=$l(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(P(Ul),P(Mo),P(Co))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class of{constructor(e){this.eventManager=e,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(e,t){return t?document.createElementNS(nf[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=nf[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=nf[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&($t.DashCase|$t.Important)?e.style.setProperty(t,i,r&$t.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&$t.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,OC(i)):this.eventManager.addEventListener(e,t,OC(i))}}class SF extends of{constructor(e,t,i,r){super(e),this.component=i;const s=$l(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr="_ngcontent-%COMP%".replace(rf,r+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(rf,r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class AF extends of{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=$l(r.id,r.styles,[]);for(let o=0;o<s.length;o++){const a=document.createElement("style");a.textContent=s[o],this.shadowRoot.appendChild(a)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,i){return super.insertBefore(this.nodeOrShadowRoot(e),t,i)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let IF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const kC=["alt","control","meta","shift"],OF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},RC={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},PF={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let kF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>zn().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(kC.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&RC.hasOwnProperty(e)&&(e=RC[e]))}return OF[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),kC.forEach(s=>{s!=r&&PF[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const VF=Bb(Tk,"browser",[{provide:ds,useValue:CC},{provide:Tb,useValue:function(){ef.makeCurrent(),tf.init()},multi:!0},{provide:qt,useFactory:function(){return n=document,Eu=n,document;var n},deps:[]}]),BF=[{provide:jd,useValue:"root"},{provide:Vr,useFactory:function(){return new Vr},deps:[]},{provide:Hl,useClass:IF,multi:!0,deps:[qt,ze,ds]},{provide:Hl,useClass:kF,multi:!0,deps:[qt]},{provide:sf,useClass:sf,deps:[Ul,Mo,Co]},{provide:Yv,useExisting:sf},{provide:SC,useExisting:Mo},{provide:Mo,useClass:Mo,deps:[qt]},{provide:Ph,useClass:Ph,deps:[ze]},{provide:Ul,useClass:Ul,deps:[Hl,ze]},{provide:xC,useClass:CF,deps:[]}];let jF=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:Co,useValue:t.appId},{provide:EC,useExisting:Co},bF]}}}return n.\u0275fac=function(t){return new(t||n)(P(n,12))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:BF,imports:[cF,Lk]}),n})();"undefined"!=typeof window&&window;const ht=void 0,XF=["sl",[["d","p"],["dop.","pop."],ht],[["d","p"],["dop.","pop."],["dopoldne","popoldne"]],[["n","p","t","s","\u010d","p","s"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."],["nedelja","ponedeljek","torek","sreda","\u010detrtek","petek","sobota"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."]],ht,[["j","f","m","a","m","j","j","a","s","o","n","d"],["jan.","feb.","mar.","apr.","maj","jun.","jul.","avg.","sep.","okt.","nov.","dec."],["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"]],ht,[["pr. Kr.","po Kr."],ht,["pred Kristusom","po Kristusu"]],1,[6,0],["d. MM. yy","d. MMM y","dd. MMMM y","EEEE, dd. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1} {0}",ht,ht,ht],[",",".",";","%","+","\u2212","e","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0\xa0%","#,##0.00\xa0\xa4","#E0"],"EUR","\u20ac","evro",{AUD:[ht,"$"],BRL:[ht,"R$"],CAD:[ht,"$"],GBP:[ht,"\xa3"],MXN:[ht,"$"],NZD:[ht,"$"],PHP:[ht,"\u20b1"],TWD:[ht,"NT$"],XCD:[ht,"$"]},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 0===i&&t%100==1?1:0===i&&t%100==2?2:0===i&&t%100===Math.floor(t%100)&&t%100>=3&&t%100<=4||0!==i?3:5}];function j(...n){return Ye(n,Ps(n))}function gs(n,e){return V(e)?He(n,e,1):He(n,1)}function Yt(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>n.call(e,s,r++)&&i.next(s)))})}class LC{}class VC{}class Tt{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Tt?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Tt;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Tt?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class QF{encodeKey(e){return BC(e)}encodeValue(e){return BC(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const tN=/%(\d[a-f0-9])/gi,nN={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function BC(n){return encodeURIComponent(n).replace(tN,(e,t)=>{var i;return null!==(i=nN[t])&&void 0!==i?i:e})}function jC(n){return`${n}`}class Oi{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new QF,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Oi({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(jC(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(jC(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class iN{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}}function HC(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function UC(n){return"undefined"!=typeof Blob&&n instanceof Blob}function $C(n){return"undefined"!=typeof FormData&&n instanceof FormData}class So{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Tt),this.context||(this.context=new iN),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":a<t.length-1?"&":"")+o}}else this.params=new Oi,this.urlWithParams=t}serializeBody(){return null===this.body?null:HC(this.body)||UC(this.body)||$C(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof Oi?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||$C(this.body)?null:UC(this.body)?this.body.type||null:HC(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Oi?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){var t;const i=e.method||this.method,r=e.url||this.url,s=e.responseType||this.responseType,o=void 0!==e.body?e.body:this.body,a=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,l=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let c=e.headers||this.headers,u=e.params||this.params;const d=null!==(t=e.context)&&void 0!==t?t:this.context;return void 0!==e.setHeaders&&(c=Object.keys(e.setHeaders).reduce((h,f)=>h.set(f,e.setHeaders[f]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((h,f)=>h.set(f,e.setParams[f]),u)),new So(i,r,o,{params:u,headers:c,context:d,reportProgress:l,responseType:s,withCredentials:a})}}var qe=(()=>((qe=qe||{})[qe.Sent=0]="Sent",qe[qe.UploadProgress=1]="UploadProgress",qe[qe.ResponseHeader=2]="ResponseHeader",qe[qe.DownloadProgress=3]="DownloadProgress",qe[qe.Response=4]="Response",qe[qe.User=5]="User",qe))();class lf{constructor(e,t=200,i="OK"){this.headers=e.headers||new Tt,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class cf extends lf{constructor(e={}){super(e),this.type=qe.ResponseHeader}clone(e={}){return new cf({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zl extends lf{constructor(e={}){super(e),this.type=qe.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new zl({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zC extends lf{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function uf(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let WC=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof So)s=t;else{let l,c;l=r.headers instanceof Tt?r.headers:new Tt(r.headers),r.params&&(c=r.params instanceof Oi?r.params:new Oi({fromObject:r.params})),s=new So(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=j(s).pipe(gs(l=>this.handler.handle(l)));if(t instanceof So||"events"===r.observe)return o;const a=o.pipe(Yt(l=>l instanceof zl));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Z(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Z(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Oi).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,uf(r,i))}post(t,i,r={}){return this.request("POST",t,uf(r,i))}put(t,i,r={}){return this.request("PUT",t,uf(r,i))}}return n.\u0275fac=function(t){return new(t||n)(P(LC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class GC{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const qC=new z("HTTP_INTERCEPTORS");let oN=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const aN=/^\)\]\}',?\n/;let YC=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new fe(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((f,p)=>r.setRequestHeader(f,p.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const f=t.detectContentTypeHeader();null!==f&&r.setRequestHeader("Content-Type",f)}if(t.responseType){const f=t.responseType.toLowerCase();r.responseType="json"!==f?f:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const f=1223===r.status?204:r.status,p=r.statusText||"OK",g=new Tt(r.getAllResponseHeaders()),_=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new cf({headers:g,status:f,statusText:p,url:_}),o},l=()=>{let{headers:f,status:p,statusText:g,url:_}=a(),v=null;204!==p&&(v=void 0===r.response?r.responseText:r.response),0===p&&(p=v?200:0);let b=p>=200&&p<300;if("json"===t.responseType&&"string"==typeof v){const D=v;v=v.replace(aN,"");try{v=""!==v?JSON.parse(v):null}catch(C){v=D,b&&(b=!1,v={error:C,text:v})}}b?(i.next(new zl({body:v,headers:f,status:p,statusText:g,url:_||void 0})),i.complete()):i.error(new zC({error:v,headers:f,status:p,statusText:g,url:_||void 0}))},c=f=>{const{url:p}=a(),g=new zC({error:f,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(g)};let u=!1;const d=f=>{u||(i.next(a()),u=!0);let p={type:qe.DownloadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),"text"===t.responseType&&!!r.responseText&&(p.partialText=r.responseText),i.next(p)},h=f=>{let p={type:qe.UploadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",d),null!==s&&r.upload&&r.upload.addEventListener("progress",h)),r.send(s),i.next({type:qe.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==s&&r.upload&&r.upload.removeEventListener("progress",h)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(P(xC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const df=new z("XSRF_COOKIE_NAME"),hf=new z("XSRF_HEADER_NAME");class KC{}let cN=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=mC(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(P(qt),P(ds),P(df))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ff=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(KC),P(hf))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),uN=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(qC,[]);this.chain=i.reduceRight((r,s)=>new GC(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(VC),P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),dN=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:ff,useClass:oN}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:df,useValue:t.cookieName}:[],t.headerName?{provide:hf,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[ff,{provide:qC,useExisting:ff,multi:!0},{provide:KC,useClass:cN},{provide:df,useValue:"XSRF-TOKEN"},{provide:hf,useValue:"X-XSRF-TOKEN"}]}),n})(),hN=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[WC,{provide:LC,useClass:uN},YC,{provide:VC,useExisting:YC}],imports:[[dN.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const{isArray:fN}=Array,{getPrototypeOf:pN,prototype:gN,keys:mN}=Object;function JC(n){if(1===n.length){const e=n[0];if(fN(e))return{args:e,keys:null};if(function(n){return n&&"object"==typeof n&&pN(n)===gN}(e)){const t=mN(e);return{args:t.map(i=>e[i]),keys:t}}}return{args:n,keys:null}}const{isArray:_N}=Array;function pf(n){return Z(e=>function(n,e){return _N(e)?n(...e):n(e)}(n,e))}function ZC(n,e){return n.reduce((t,i,r)=>(t[i]=e[r],t),{})}let XC=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt))},n.\u0275dir=N({type:n}),n})(),er=(()=>{class n extends XC{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=function(n){return Ci(()=>{const e=n.prototype.constructor,t=e[ei]||Hu(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[ei]||Hu(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}(n)))(i||n)}}(),n.\u0275dir=N({type:n,features:[Ce]}),n})();const Wn=new z("NgValueAccessor"),DN={provide:Wn,useExisting:ve(()=>ms),multi:!0},xN=new z("CompositionEventMode");let ms=(()=>{class n extends XC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=zn()?zn().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt),x(xN,8))},n.\u0275dir=N({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&q("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Se([DN]),Ce]}),n})();const ft=new z("NgValidators"),ki=new z("NgAsyncValidators");function cD(n){return null!=n}function uD(n){const e=lo(n)?Ye(n):n;return Qd(e),e}function dD(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function hD(n,e){return e.map(t=>t(n))}function fD(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function gf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return dD(hD(t,e))}}(fD(n)):null}function mf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return function(...n){const e=mg(n),{args:t,keys:i}=JC(n),r=new fe(s=>{const{length:o}=t;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let d=!1;Zt(t[u]).subscribe(new Ne(s,h=>{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||s.next(i?ZC(i,a):a),s.complete())}))}});return e?r.pipe(pf(e)):r}(hD(t,e).map(uD)).pipe(Z(dD))}}(fD(n)):null}function mD(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function yf(n){return n?Array.isArray(n)?n:[n]:[]}function Wl(n,e){return Array.isArray(n)?n.includes(e):n===e}function vD(n,e){const t=yf(e);return yf(n).forEach(r=>{Wl(t,r)||t.push(r)}),t}function bD(n,e){return yf(e).filter(t=>!Wl(n,t))}class CD{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=gf(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=mf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e){this.control&&this.control.reset(e)}hasError(e,t){return!!this.control&&this.control.hasError(e,t)}getError(e,t){return this.control?this.control.getError(e,t):null}}class Ri extends CD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Et extends CD{get formDirective(){return null}get path(){return null}}class DD{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}let Gl=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Ri,2))},n.\u0275dir=N({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[Ce]}),n})(),Io=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Et,10))},n.\u0275dir=N({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))("ng-submitted",i.is("submitted"))},features:[Ce]}),n})();function To(n,e){bf(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&wD(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&wD(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function Jl(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function bf(n,e){const t=function(n){return n._rawValidators}(n);null!==e.validator?n.setValidators(mD(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=function(n){return n._rawAsyncValidators}(n);null!==e.asyncValidator?n.setAsyncValidators(mD(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();Jl(e._rawValidators,r),Jl(e._rawAsyncValidators,r)}function wD(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function Xl(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Oo="VALID",Ql="INVALID",ys="PENDING",Po="DISABLED";function wf(n){return(Ef(n)?n.validators:n)||null}function MD(n){return Array.isArray(n)?gf(n):n||null}function xf(n,e){return(Ef(e)?e.asyncValidators:n)||null}function SD(n){return Array.isArray(n)?mf(n):n||null}function Ef(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Mf{constructor(e,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=MD(this._rawValidators),this._composedAsyncValidatorFn=SD(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Oo}get invalid(){return this.status===Ql}get pending(){return this.status==ys}get disabled(){return this.status===Po}get enabled(){return this.status!==Po}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=MD(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=SD(e)}addValidators(e){this.setValidators(vD(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(vD(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(bD(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(bD(e,this._rawAsyncValidators))}hasValidator(e){return Wl(this._rawValidators,e)}hasAsyncValidator(e){return Wl(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=ys,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Po,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Oo,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Oo||this.status===ys)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Po:Oo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=ys,this._hasOwnPendingAsyncValidator=!0;const t=uD(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Sf?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof VN&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Re,this.statusChanges=new Re}_calculateStatus(){return this._allControlsDisabled()?Po:this.errors?Ql:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ys)?ys:this._anyControlsHaveStatus(Ql)?Ql:Oo}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Ef(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class ec extends Mf{constructor(e=null,t,i){super(wf(t),xf(i,t)),this._onChange=[],this._pendingChange=!1,this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){Xl(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){Xl(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Sf extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof ec?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class VN extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof ec?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const BN={provide:Et,useExisting:ve(()=>tr)},ko=(()=>Promise.resolve(null))();let tr=(()=>{class n extends Et{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Re,this.form=new Sf({},gf(t),mf(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ko.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),To(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),Xl(this._directives,t)})}addFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path),r=new Sf({});(function(n,e){bf(n,e)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){ko.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(x(ft,10),x(ki,10))},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&q("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Se([BN]),Ce]}),n})();const HN={provide:Ri,useExisting:ve(()=>Ro)},TD=(()=>Promise.resolve(null))();let Ro=(()=>{class n extends Ri{constructor(t,i,r,s){super(),this.control=new ec,this._registered=!1,this.update=new Re,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===ms?t=s:function(n){return Object.getPrototypeOf(n.constructor)===er}(s)?i=s:r=s}),r||i||t||null}(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),function(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){To(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){TD.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;TD.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(x(Et,9),x(ft,10),x(ki,10),x(Wn,10))},n.\u0275dir=N({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Se([HN]),Ce,Bt]}),n})(),Fo=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),PD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();const Af=new z("NgModelWithFormControlWarning"),sL={provide:ft,useExisting:ve(()=>_s),multi:!0};let _s=(()=>{class n{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?function(n){return function(n){return null==n||0===n.length}(n.value)?{required:!0}:null}(t):null}registerOnValidatorChange(t){this._onChange=t}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,i){2&t&&jn("required",i.required?"":null)},inputs:{required:"required"},features:[Se([sL])]}),n})(),KD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[PD]]}),n})(),dL=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})(),hL=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Af,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})();class Mn extends Jt{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){const{hasError:e,thrownError:t,_value:i}=this;if(e)throw t;return this._throwIfClosed(),i}next(e){super.next(this._value=e)}}function JD(n,e,t){n?Zn(t,n,e):e()}const nc=nt(n=>function(){n(this),this.name="EmptyError",this.message="no elements in sequence"});function No(...n){return Os(1)(Ye(n,Ps(n)))}function ic(n){return new fe(e=>{Zt(n()).subscribe(e)})}function ZD(){return je((n,e)=>{let t=null;n._refCount++;const i=new Ne(e,void 0,void 0,void 0,()=>{if(!n||n._refCount<=0||0<--n._refCount)return void(t=null);const r=n._connection,s=t;t=null,r&&(!s||r===s)&&r.unsubscribe(),e.unsubscribe()});n.subscribe(i),i.closed||(t=n.connect())})}class XD extends fe{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,ng(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:e}=this;this._subject=this._connection=null,null==e||e.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new Rt;const t=this.getSubject();e.add(this.source.subscribe(new Ne(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),e.closed&&(this._connection=null,e=Rt.EMPTY)}return e}refCount(){return ZD()(this)}}function Sn(n,e){return je((t,i)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&i.complete();t.subscribe(new Ne(i,l=>{null==r||r.unsubscribe();let c=0;const u=s++;Zt(n(l,u)).subscribe(r=new Ne(i,d=>i.next(e?e(l,d,u,c++):d),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function yL(n,e,t,i,r){return(s,o)=>{let a=t,l=e,c=0;s.subscribe(new Ne(o,u=>{const d=c++;l=a?n(l,u,d):(a=!0,u),i&&o.next(l)},r&&(()=>{a&&o.next(l),o.complete()})))}}function QD(n,e){return je(yL(n,e,arguments.length>=2,!0))}function st(n){return je((e,t)=>{let s,i=null,r=!1;i=e.subscribe(new Ne(t,void 0,void 0,o=>{s=Zt(n(o,st(n)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,s.subscribe(t))})}function Rf(n){return n<=0?()=>Xn:je((e,t)=>{let i=[];e.subscribe(new Ne(t,r=>{i.push(r),n<i.length&&i.shift()},()=>{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function e0(n=_L){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(n())))})}function _L(){return new nc}function t0(n){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>{i||t.next(n),t.complete()}))})}function vs(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Xt(1),t?t0(e):e0(()=>new nc))}function Ot(n,e,t){const i=V(n)||e||t?{next:n,error:e,complete:t}:n;return i?je((r,s)=>{var o;null===(o=i.subscribe)||void 0===o||o.call(i);let a=!0;r.subscribe(new Ne(s,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),s.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),s.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),s.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):vi}class ui{constructor(e,t){this.id=e,this.url=t}}class Ff extends ui{constructor(e,t,i="imperative",r=null){super(e,t),this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Lo extends ui{constructor(e,t,i){super(e,t),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class n0 extends ui{constructor(e,t,i){super(e,t),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class CL extends ui{constructor(e,t,i){super(e,t),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class DL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class xL extends ui{constructor(e,t,i,r,s){super(e,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class EL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ML extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class r0{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class s0{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class SL{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class AL{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class IL{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class TL{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class o0{constructor(e,t,i){this.routerEvent=e,this.position=t,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ee="primary";class OL{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function bs(n){return new OL(n)}const a0="ngNavigationCancelingError";function Nf(n){const e=Error("NavigationCancelingError: "+n);return e[a0]=!0,e}function kL(n,e,t){const i=t.path.split("/");if(i.length>n.length||"full"===t.pathMatch&&(e.hasChildren()||i.length<n.length))return null;const r={};for(let s=0;s<i.length;s++){const o=i[s],a=n[s];if(o.startsWith(":"))r[o.substring(1)]=a;else if(o!==a.path)return null}return{consumed:n.slice(0,i.length),posParams:r}}function Gn(n,e){const t=n?Object.keys(n):void 0,i=e?Object.keys(e):void 0;if(!t||!i||t.length!=i.length)return!1;let r;for(let s=0;s<t.length;s++)if(r=t[s],!l0(n[r],e[r]))return!1;return!0}function l0(n,e){if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return!1;const t=[...n].sort(),i=[...e].sort();return t.every((r,s)=>i[s]===r)}return n===e}function c0(n){return Array.prototype.concat.apply([],n)}function u0(n){return n.length>0?n[n.length-1]:null}function at(n,e){for(const t in n)n.hasOwnProperty(t)&&e(n[t],t)}function qn(n){return Qd(n)?n:lo(n)?Ye(Promise.resolve(n)):j(n)}const NL={exact:function f0(n,e,t){if(!ir(n.segments,e.segments)||!rc(n.segments,e.segments,t)||n.numberOfChildren!==e.numberOfChildren)return!1;for(const i in e.children)if(!n.children[i]||!f0(n.children[i],e.children[i],t))return!1;return!0},subset:p0},d0={exact:function(n,e){return Gn(n,e)},subset:function(n,e){return Object.keys(e).length<=Object.keys(n).length&&Object.keys(e).every(t=>l0(n[t],e[t]))},ignored:()=>!0};function h0(n,e,t){return NL[t.paths](n.root,e.root,t.matrixParams)&&d0[t.queryParams](n.queryParams,e.queryParams)&&!("exact"===t.fragment&&n.fragment!==e.fragment)}function p0(n,e,t){return g0(n,e,e.segments,t)}function g0(n,e,t,i){if(n.segments.length>t.length){const r=n.segments.slice(0,t.length);return!(!ir(r,t)||e.hasChildren()||!rc(r,t,i))}if(n.segments.length===t.length){if(!ir(n.segments,t)||!rc(n.segments,t,i))return!1;for(const r in e.children)if(!n.children[r]||!p0(n.children[r],e.children[r],i))return!1;return!0}{const r=t.slice(0,n.segments.length),s=t.slice(n.segments.length);return!!(ir(n.segments,r)&&rc(n.segments,r,i)&&n.children[ee])&&g0(n.children[ee],e,s,i)}}function rc(n,e,t){return e.every((i,r)=>d0[t](n[r].parameters,i.parameters))}class nr{constructor(e,t,i){this.root=e,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return HL.serialize(this)}}class se{constructor(e,t){this.segments=e,this.children=t,this.parent=null,at(t,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return sc(this)}}class Vo{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=bs(this.parameters)),this._parameterMap}toString(){return b0(this)}}function ir(n,e){return n.length===e.length&&n.every((t,i)=>t.path===e[i].path)}class m0{}class y0{parse(e){const t=new JL(e);return new nr(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){const t=`/${Bo(e.root,!0)}`,i=function(n){const e=Object.keys(n).map(t=>{const i=n[t];return Array.isArray(i)?i.map(r=>`${oc(t)}=${oc(r)}`).join("&"):`${oc(t)}=${oc(i)}`}).filter(t=>!!t);return e.length?`?${e.join("&")}`:""}(e.queryParams);var n;return`${t}${i}${"string"==typeof e.fragment?`#${n=e.fragment,encodeURI(n)}`:""}`}}const HL=new y0;function sc(n){return n.segments.map(e=>b0(e)).join("/")}function Bo(n,e){if(!n.hasChildren())return sc(n);if(e){const t=n.children[ee]?Bo(n.children[ee],!1):"",i=[];return at(n.children,(r,s)=>{s!==ee&&i.push(`${s}:${Bo(r,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function(n,e){let t=[];return at(n.children,(i,r)=>{r===ee&&(t=t.concat(e(i,r)))}),at(n.children,(i,r)=>{r!==ee&&(t=t.concat(e(i,r)))}),t}(n,(i,r)=>r===ee?[Bo(n.children[ee],!1)]:[`${r}:${Bo(i,!1)}`]);return 1===Object.keys(n.children).length&&null!=n.children[ee]?`${sc(n)}/${t[0]}`:`${sc(n)}/(${t.join("//")})`}}function _0(n){return encodeURIComponent(n).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function oc(n){return _0(n).replace(/%3B/gi,";")}function Lf(n){return _0(n).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ac(n){return decodeURIComponent(n)}function v0(n){return ac(n.replace(/\+/g,"%20"))}function b0(n){return`${Lf(n.path)}${function(n){return Object.keys(n).map(e=>`;${Lf(e)}=${Lf(n[e])}`).join("")}(n.parameters)}`}const WL=/^[^\/()?;=#]+/;function lc(n){const e=n.match(WL);return e?e[0]:""}const GL=/^[^=?&#]+/,YL=/^[^&#]+/;class JL{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new se([],{}):new se([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(i[ee]=new se(e,t)),i}parseSegment(){const e=lc(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new Vo(ac(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const t=lc(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=lc(this.remaining);r&&(i=r,this.capture(i))}e[ac(t)]=ac(i)}parseQueryParam(e){const t=function(n){const e=n.match(GL);return e?e[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const o=function(n){const e=n.match(YL);return e?e[0]:""}(this.remaining);o&&(i=o,this.capture(i))}const r=v0(t),s=v0(i);if(e.hasOwnProperty(r)){let o=e[r];Array.isArray(o)||(o=[o],e[r]=o),o.push(s)}else e[r]=s}parseParens(e){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=lc(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s;i.indexOf(":")>-1?(s=i.substr(0,i.indexOf(":")),this.capture(s),this.capture(":")):e&&(s=ee);const o=this.parseChildren();t[s]=1===Object.keys(o).length?o[ee]:new se([],o),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class C0{constructor(e){this._root=e}get root(){return this._root.value}parent(e){const t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){const t=Vf(e,this._root);return t?t.children.map(i=>i.value):[]}firstChild(e){const t=Vf(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){const t=Bf(e,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==e)}pathFromRoot(e){return Bf(e,this._root).map(t=>t.value)}}function Vf(n,e){if(n===e.value)return e;for(const t of e.children){const i=Vf(n,t);if(i)return i}return null}function Bf(n,e){if(n===e.value)return[e];for(const t of e.children){const i=Bf(n,t);if(i.length)return i.unshift(e),i}return[]}class di{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}}function Cs(n){const e={};return n&&n.children.forEach(t=>e[t.value.outlet]=t),e}class D0 extends C0{constructor(e,t){super(e),this.snapshot=t,jf(this,e)}toString(){return this.snapshot.toString()}}function w0(n,e){const t=function(n,e){const o=new cc([],{},{},"",{},ee,e,null,n.root,-1,{});return new E0("",new di(o,[]))}(n,e),i=new Mn([new Vo("",{})]),r=new Mn({}),s=new Mn({}),o=new Mn({}),a=new Mn(""),l=new Ds(i,r,o,a,s,ee,e,t.root);return l.snapshot=t.root,new D0(new di(l,[]),t)}class Ds{constructor(e,t,i,r,s,o,a,l){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Z(e=>bs(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Z(e=>bs(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function x0(n,e="emptyOnly"){const t=n.pathFromRoot;let i=0;if("always"!==e)for(i=t.length-1;i>=1;){const r=t[i],s=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(s.component)break;i--}}return function(n){return n.reduce((e,t)=>({params:Object.assign(Object.assign({},e.params),t.params),data:Object.assign(Object.assign({},e.data),t.data),resolve:Object.assign(Object.assign({},e.resolve),t._resolvedData)}),{params:{},data:{},resolve:{}})}(t.slice(i))}class cc{constructor(e,t,i,r,s,o,a,l,c,u,d){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this.routeConfig=l,this._urlSegment=c,this._lastPathIndex=u,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=bs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class E0 extends C0{constructor(e,t){super(t),this.url=e,jf(this,t)}toString(){return M0(this._root)}}function jf(n,e){e.value._routerState=n,e.children.forEach(t=>jf(n,t))}function M0(n){const e=n.children.length>0?` { ${n.children.map(M0).join(", ")} } `:"";return`${n.value}${e}`}function Hf(n){if(n.snapshot){const e=n.snapshot,t=n._futureSnapshot;n.snapshot=t,Gn(e.queryParams,t.queryParams)||n.queryParams.next(t.queryParams),e.fragment!==t.fragment&&n.fragment.next(t.fragment),Gn(e.params,t.params)||n.params.next(t.params),function(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;++t)if(!Gn(n[t],e[t]))return!1;return!0}(e.url,t.url)||n.url.next(t.url),Gn(e.data,t.data)||n.data.next(t.data)}else n.snapshot=n._futureSnapshot,n.data.next(n._futureSnapshot.data)}function Uf(n,e){const t=Gn(n.params,e.params)&&function(n,e){return ir(n,e)&&n.every((t,i)=>Gn(t.parameters,e[i].parameters))}(n.url,e.url);return t&&!(!n.parent!=!e.parent)&&(!n.parent||Uf(n.parent,e.parent))}function jo(n,e,t){if(t&&n.shouldReuseRoute(e.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=e.value;const r=function(n,e,t){return e.children.map(i=>{for(const r of t.children)if(n.shouldReuseRoute(i.value,r.value.snapshot))return jo(n,i,r);return jo(n,i)})}(n,e,t);return new di(i,r)}{if(n.shouldAttach(e.value)){const s=n.retrieve(e.value);if(null!==s){const o=s.route;return o.value._futureSnapshot=e.value,o.children=e.children.map(a=>jo(n,a)),o}}const i=function(n){return new Ds(new Mn(n.url),new Mn(n.params),new Mn(n.queryParams),new Mn(n.fragment),new Mn(n.data),n.outlet,n.component,n)}(e.value),r=e.children.map(s=>jo(n,s));return new di(i,r)}}function uc(n){return"object"==typeof n&&null!=n&&!n.outlets&&!n.segmentPath}function Ho(n){return"object"==typeof n&&null!=n&&n.outlets}function $f(n,e,t,i,r){let s={};return i&&at(i,(o,a)=>{s[a]=Array.isArray(o)?o.map(l=>`${l}`):`${o}`}),new nr(t.root===n?e:S0(t.root,n,e),s,r)}function S0(n,e,t){const i={};return at(n.children,(r,s)=>{i[s]=r===e?t:S0(r,e,t)}),new se(n.segments,i)}class A0{constructor(e,t,i){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=i,e&&i.length>0&&uc(i[0]))throw new Error("Root segment cannot have matrix parameters");const r=i.find(Ho);if(r&&r!==u0(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class zf{constructor(e,t,i){this.segmentGroup=e,this.processChildren=t,this.index=i}}function I0(n,e,t){if(n||(n=new se([],{})),0===n.segments.length&&n.hasChildren())return dc(n,e,t);const i=function(n,e,t){let i=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r<n.segments.length;){if(i>=t.length)return s;const o=n.segments[r],a=t[i];if(Ho(a))break;const l=`${a}`,c=i<t.length-1?t[i+1]:null;if(r>0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!O0(l,c,o))return s;i+=2}else{if(!O0(l,{},o))return s;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(n,e,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndex<n.segments.length){const s=new se(n.segments.slice(0,i.pathIndex),{});return s.children[ee]=new se(n.segments.slice(i.pathIndex),n.children),dc(s,0,r)}return i.match&&0===r.length?new se(n.segments,{}):i.match&&!n.hasChildren()?Wf(n,e,t):i.match?dc(n,0,r):Wf(n,e,t)}function dc(n,e,t){if(0===t.length)return new se(n.segments,{});{const i=function(n){return Ho(n[0])?n[0].outlets:{[ee]:n}}(t),r={};return at(i,(s,o)=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=I0(n.children[o],e,s))}),at(n.children,(s,o)=>{void 0===i[o]&&(r[o]=s)}),new se(n.segments,r)}}function Wf(n,e,t){const i=n.segments.slice(0,e);let r=0;for(;r<t.length;){const s=t[r];if(Ho(s)){const l=lV(s.outlets);return new se(i,l)}if(0===r&&uc(t[0])){i.push(new Vo(n.segments[e].path,T0(t[0]))),r++;continue}const o=Ho(s)?s.outlets[ee]:`${s}`,a=r<t.length-1?t[r+1]:null;o&&a&&uc(a)?(i.push(new Vo(o,T0(a))),r+=2):(i.push(new Vo(o,{})),r++)}return new se(i,{})}function lV(n){const e={};return at(n,(t,i)=>{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=Wf(new se([],{}),0,t))}),e}function T0(n){const e={};return at(n,(t,i)=>e[i]=`${t}`),e}function O0(n,e,t){return n==t.path&&Gn(e,t.parameters)}class uV{constructor(e,t,i,r){this.routeReuseStrategy=e,this.futureState=t,this.currState=i,this.forwardEvent=r}activate(e){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,e),Hf(this.futureState.root),this.activateChildRoutes(t,i,e)}deactivateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{const o=s.value.outlet;this.deactivateRoutes(s,r[o],i),delete r[o]}),at(r,(s,o)=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(r===s)if(r.component){const o=i.getContext(r.outlet);o&&this.deactivateChildRoutes(e,t,o.children)}else this.deactivateChildRoutes(e,t,i);else s&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(e,t){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);if(i&&i.outlet){const o=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:o,route:e,contexts:a})}}deactivateRouteAndOutlet(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{this.activateRoutes(s,r[s.value.outlet],i),this.forwardEvent(new TL(s.value.snapshot))}),e.children.length&&this.forwardEvent(new AL(e.value.snapshot))}activateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(Hf(r),r===s)if(r.component){const o=i.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,o.children)}else this.activateChildRoutes(e,t,i);else if(r.component){const o=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),o.children.onOutletReAttached(a.contexts),o.attachRef=a.componentRef,o.route=a.route.value,o.outlet&&o.outlet.attach(a.componentRef,a.route.value),Hf(a.route.value),this.activateChildRoutes(e,null,o.children)}else{const a=function(n){for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(r.snapshot),l=a?a.module.componentFactoryResolver:null;o.attachRef=null,o.route=r,o.resolver=l,o.outlet&&o.outlet.activateWith(r,l),this.activateChildRoutes(e,null,o.children)}}else this.activateChildRoutes(e,null,i)}}class Gf{constructor(e,t){this.routes=e,this.module=t}}function Fi(n){return"function"==typeof n}function rr(n){return n instanceof nr}const Uo=Symbol("INITIAL_VALUE");function $o(){return Sn(n=>function(...n){const e=Ps(n),t=mg(n),{args:i,keys:r}=JC(n);if(0===i.length)return Ye([],e);const s=new fe(function(n,e,t=vi){return i=>{JD(e,()=>{const{length:r}=n,s=new Array(r);let o=r,a=r;for(let l=0;l<r;l++)JD(e,()=>{const c=Ye(n[l],e);let u=!1;c.subscribe(new Ne(i,d=>{s[l]=d,u||(u=!0,a--),a||i.next(t(s.slice()))},()=>{--o||i.complete()}))},i)},i)}}(i,e,r?o=>ZC(r,o):vi));return t?s.pipe(pf(t)):s}(n.map(e=>e.pipe(Xt(1),function(...n){const e=Ps(n);return je((t,i)=>{(e?No(n,t,e):No(n,t)).subscribe(i)})}(Uo)))).pipe(QD((e,t)=>{let i=!1;return t.reduce((r,s,o)=>r!==Uo?r:(s===Uo&&(i=!0),i||!1!==s&&o!==t.length-1&&!rr(s)?r:s),e)},Uo),Yt(e=>e!==Uo),Z(e=>rr(e)?e:!0===e),Xt(1)))}class yV{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new zo,this.attachRef=null}}class zo{constructor(){this.contexts=new Map}onChildOutletCreated(e,t){const i=this.getOrCreateContext(e);i.outlet=t,this.contexts.set(e,i)}onChildOutletDestroyed(e){const t=this.getContext(e);t&&(t.outlet=null,t.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new yV,this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}}let qf=(()=>{class n{constructor(t,i,r,s,o){this.parentContexts=t,this.location=i,this.resolver=r,this.changeDetector=o,this.activated=null,this._activatedRoute=null,this.activateEvents=new Re,this.deactivateEvents=new Re,this.attachEvents=new Re,this.detachEvents=new Re,this.name=s||ee,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const o=(i=i||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,l=new _V(t,a,this.location.injector);this.activated=this.location.createComponent(o,this.location.length,l),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return n.\u0275fac=function(t){return new(t||n)(x(zo),x(Dn),x(os),function(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r<i;){const s=t[r];if(Jg(s))break;if(0===s)r+=2;else if("number"==typeof s)for(r++;r<i&&"string"==typeof t[r];)r++;else{if(s===e)return t[r+1];r+=2}}}return null}(Ke(),n)}("name"),x(Fh))},n.\u0275dir=N({type:n,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),n})();class _V{constructor(e,t,i){this.route=e,this.childContexts=t,this.parent=i}get(e,t){return e===Ds?this.route:e===zo?this.childContexts:this.parent.get(e,t)}}let P0=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],encapsulation:2}),n})();function k0(n,e=""){for(let t=0;t<n.length;t++){const i=n[t];vV(i,bV(e,i))}}function vV(n,e){n.children&&k0(n.children,e)}function bV(n,e){return e?n||e.path?n&&!e.path?`${n}/`:!n&&e.path?e.path:`${n}/${e.path}`:"":n}function Yf(n){const e=n.children&&n.children.map(Yf),t=e?Object.assign(Object.assign({},n),{children:e}):Object.assign({},n);return!t.component&&(e||t.loadChildren)&&t.outlet&&t.outlet!==ee&&(t.component=P0),t}function ln(n){return n.outlet||ee}function R0(n,e){const t=n.filter(i=>ln(i)===e);return t.push(...n.filter(i=>ln(i)!==e)),t}const F0={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function hc(n,e,t){var i;if(""===e.path)return"full"===e.pathMatch&&(n.hasChildren()||t.length>0)?Object.assign({},F0):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const s=(e.matcher||kL)(t,n,e);if(!s)return Object.assign({},F0);const o={};at(s.posParams,(l,c)=>{o[c]=l.path});const a=s.consumed.length>0?Object.assign(Object.assign({},o),s.consumed[s.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:s.consumed,lastChild:s.consumed.length,parameters:a,positionalParamSegments:null!==(i=s.posParams)&&void 0!==i?i:{}}}function fc(n,e,t,i,r="corrected"){if(t.length>0&&function(n,e,t){return t.some(i=>pc(n,e,i)&&ln(i)!==ee)}(n,t,i)){const o=new se(e,function(n,e,t,i){const r={};r[ee]=i,i._sourceSegment=n,i._segmentIndexShift=e.length;for(const s of t)if(""===s.path&&ln(s)!==ee){const o=new se([],{});o._sourceSegment=n,o._segmentIndexShift=e.length,r[ln(s)]=o}return r}(n,e,i,new se(t,n.children)));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:[]}}if(0===t.length&&function(n,e,t){return t.some(i=>pc(n,e,i))}(n,t,i)){const o=new se(n.segments,function(n,e,t,i,r,s){const o={};for(const a of i)if(pc(n,t,a)&&!r[ln(a)]){const l=new se([],{});l._sourceSegment=n,l._segmentIndexShift="legacy"===s?n.segments.length:e.length,o[ln(a)]=l}return Object.assign(Object.assign({},r),o)}(n,e,t,i,n.children,r));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:t}}const s=new se(n.segments,n.children);return s._sourceSegment=n,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:t}}function pc(n,e,t){return(!(n.hasChildren()||e.length>0)||"full"!==t.pathMatch)&&""===t.path}function N0(n,e,t,i){return!!(ln(n)===i||i!==ee&&pc(e,t,n))&&("**"===n.path||hc(e,n,t).matched)}function L0(n,e,t){return 0===e.length&&!n.children[t]}class Wo{constructor(e){this.segmentGroup=e||null}}class V0{constructor(e){this.urlTree=e}}function gc(n){return new fe(e=>e.error(new Wo(n)))}function B0(n){return new fe(e=>e.error(new V0(n)))}function EV(n){return new fe(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${n}'`)))}class AV{constructor(e,t,i,r,s){this.configLoader=t,this.urlSerializer=i,this.urlTree=r,this.config=s,this.allowRedirects=!0,this.ngModule=e.get(oi)}apply(){const e=fc(this.urlTree.root,[],[],this.config).segmentGroup,t=new se(e.segments,e.children);return this.expandSegmentGroup(this.ngModule,this.config,t,ee).pipe(Z(s=>this.createUrlTree(Kf(s),this.urlTree.queryParams,this.urlTree.fragment))).pipe(st(s=>{if(s instanceof V0)return this.allowRedirects=!1,this.match(s.urlTree);throw s instanceof Wo?this.noMatchError(s):s}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,ee).pipe(Z(r=>this.createUrlTree(Kf(r),e.queryParams,e.fragment))).pipe(st(r=>{throw r instanceof Wo?this.noMatchError(r):r}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,t,i){const r=e.segments.length>0?new se([],{[ee]:e}):e;return new nr(r,t,i)}expandSegmentGroup(e,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(e,t,i).pipe(Z(s=>new se([],s))):this.expandSegment(e,i,t,i.segments,r,!0)}expandChildren(e,t,i){const r=[];for(const s of Object.keys(i.children))"primary"===s?r.unshift(s):r.push(s);return Ye(r).pipe(gs(s=>{const o=i.children[s],a=R0(t,s);return this.expandSegmentGroup(e,a,o,s).pipe(Z(l=>({segment:l,outlet:s})))}),QD((s,o)=>(s[o.outlet]=o.segment,s),{}),function(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Rf(1),t?t0(e):e0(()=>new nc))}())}expandSegment(e,t,i,r,s,o){return Ye(i).pipe(gs(a=>this.expandSegmentAgainstRoute(e,t,i,a,r,s,o).pipe(st(c=>{if(c instanceof Wo)return j(null);throw c}))),vs(a=>!!a),st((a,l)=>{if(a instanceof nc||"EmptyError"===a.name){if(L0(t,r,s))return j(new se([],{}));throw new Wo(t)}throw a}))}expandSegmentAgainstRoute(e,t,i,r,s,o,a){return N0(r,t,s,o)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,s,o):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o):gc(t):gc(t)}expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,i,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,t,i,r){const s=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?B0(s):this.lineralizeSegments(i,s).pipe(He(o=>{const a=new se(o,{});return this.expandSegment(e,a,t,o,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){const{matched:a,consumedSegments:l,lastChild:c,positionalParamSegments:u}=hc(t,r,s);if(!a)return gc(t);const d=this.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?B0(d):this.lineralizeSegments(r,d).pipe(He(h=>this.expandSegment(e,t,i,h.concat(s.slice(c)),o,!1)))}matchSegmentAgainstRoute(e,t,i,r,s){if("**"===i.path)return i.loadChildren?(i._loadedConfig?j(i._loadedConfig):this.configLoader.load(e.injector,i)).pipe(Z(h=>(i._loadedConfig=h,new se(r,{})))):j(new se(r,{}));const{matched:o,consumedSegments:a,lastChild:l}=hc(t,i,r);if(!o)return gc(t);const c=r.slice(l);return this.getChildConfig(e,i,r).pipe(He(d=>{const h=d.module,f=d.routes,{segmentGroup:p,slicedSegments:g}=fc(t,a,c,f),_=new se(p.segments,p.children);if(0===g.length&&_.hasChildren())return this.expandChildren(h,f,_).pipe(Z(C=>new se(a,C)));if(0===f.length&&0===g.length)return j(new se(a,{}));const v=ln(i)===s;return this.expandSegment(h,_,f,g,v?ee:s,!0).pipe(Z(D=>new se(a.concat(D.segments),D.children)))}))}getChildConfig(e,t,i){return t.children?j(new Gf(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?j(t._loadedConfig):this.runCanLoadGuards(e.injector,t,i).pipe(He(r=>{return r?this.configLoader.load(e.injector,t).pipe(Z(s=>(t._loadedConfig=s,s))):(n=t,new fe(e=>e.error(Nf(`Cannot load children because the guard of the route "path: '${n.path}'" returned false`))));var n})):j(new Gf([],e))}runCanLoadGuards(e,t,i){const r=t.canLoad;return r&&0!==r.length?j(r.map(o=>{const a=e.get(o);let l;if((n=a)&&Fi(n.canLoad))l=a.canLoad(t,i);else{if(!Fi(a))throw new Error("Invalid CanLoad guard");l=a(t,i)}var n;return qn(l)})).pipe($o(),Ot(o=>{if(!rr(o))return;const a=Nf(`Redirecting to "${this.urlSerializer.serialize(o)}"`);throw a.url=o,a}),Z(o=>!0===o)):j(!0)}lineralizeSegments(e,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return j(i);if(r.numberOfChildren>1||!r.children[ee])return EV(e.redirectTo);r=r.children[ee]}}applyRedirectCommands(e,t,i){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,i)}applyRedirectCreatreUrlTree(e,t,i,r){const s=this.createSegmentGroup(e,t.root,i,r);return new nr(s,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){const i={};return at(e,(r,s)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[s]=t[a]}else i[s]=r}),i}createSegmentGroup(e,t,i,r){const s=this.createSegments(e,t.segments,i,r);let o={};return at(t.children,(a,l)=>{o[l]=this.createSegmentGroup(e,a,i,r)}),new se(s,o)}createSegments(e,t,i,r){return t.map(s=>s.path.startsWith(":")?this.findPosParam(e,s,r):this.findOrReturn(s,i))}findPosParam(e,t,i){const r=i[t.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${e}'. Cannot find '${t.path}'.`);return r}findOrReturn(e,t){let i=0;for(const r of t){if(r.path===e.path)return t.splice(i),r;i++}return e}}function Kf(n){const e={};for(const i of Object.keys(n.children)){const s=Kf(n.children[i]);(s.segments.length>0||s.hasChildren())&&(e[i]=s)}return function(n){if(1===n.numberOfChildren&&n.children[ee]){const e=n.children[ee];return new se(n.segments.concat(e.segments),e.children)}return n}(new se(n.segments,e))}class j0{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class mc{constructor(e,t){this.component=e,this.route=t}}function OV(n,e,t){const i=n._root;return Go(i,e?e._root:null,t,[i.value])}function yc(n,e,t){const i=function(n){if(!n)return null;for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(i?i.module.injector:t).get(n)}function Go(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=Cs(e);return n.children.forEach(o=>{(function(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=n.value,o=e?e.value:null,a=t?t.getContext(n.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(n,e,t){if("function"==typeof t)return t(n,e);switch(t){case"pathParamsChange":return!ir(n.url,e.url);case"pathParamsOrQueryParamsChange":return!ir(n.url,e.url)||!Gn(n.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Uf(n,e)||!Gn(n.queryParams,e.queryParams);default:return!Uf(n,e)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new j0(i)):(s.data=o.data,s._resolvedData=o._resolvedData),Go(n,e,s.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new mc(a.outlet.component,o))}else o&&qo(e,a,r),r.canActivateChecks.push(new j0(i)),Go(n,null,s.component?a?a.children:null:t,i,r)})(o,s[o.value.outlet],t,i.concat([o.value]),r),delete s[o.value.outlet]}),at(s,(o,a)=>qo(o,t.getContext(a),r)),r}function qo(n,e,t){const i=Cs(n),r=n.value;at(i,(s,o)=>{qo(s,r.component?e?e.children.getContext(o):null:e,t)}),t.canDeactivateChecks.push(new mc(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class zV{}function H0(n){return new fe(e=>e.error(n))}class GV{constructor(e,t,i,r,s,o){this.rootComponentType=e,this.config=t,this.urlTree=i,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=o}recognize(){const e=fc(this.urlTree.root,[],[],this.config.filter(o=>void 0===o.redirectTo),this.relativeLinkResolution).segmentGroup,t=this.processSegmentGroup(this.config,e,ee);if(null===t)return null;const i=new cc([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ee,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new di(i,t),s=new E0(this.url,r);return this.inheritParamsAndData(s._root),s}inheritParamsAndData(e){const t=e.value,i=x0(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),e.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(e,t,i){return 0===t.segments.length&&t.hasChildren()?this.processChildren(e,t):this.processSegment(e,t,t.segments,i)}processChildren(e,t){const i=[];for(const s of Object.keys(t.children)){const o=t.children[s],a=R0(e,s),l=this.processSegmentGroup(a,o,s);if(null===l)return null;i.push(...l)}const r=U0(i);return r.sort((e,t)=>e.value.outlet===ee?-1:t.value.outlet===ee?1:e.value.outlet.localeCompare(t.value.outlet)),r}processSegment(e,t,i,r){for(const s of e){const o=this.processSegmentAgainstRoute(s,t,i,r);if(null!==o)return o}return L0(t,i,r)?[]:null}processSegmentAgainstRoute(e,t,i,r){if(e.redirectTo||!N0(e,t,i,r))return null;let s,o=[],a=[];if("**"===e.path){const f=i.length>0?u0(i).parameters:{};s=new cc(i,f,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+i.length,G0(e))}else{const f=hc(t,e,i);if(!f.matched)return null;o=f.consumedSegments,a=i.slice(f.lastChild),s=new cc(o,f.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+o.length,G0(e))}const l=(n=e).children?n.children:n.loadChildren?n._loadedConfig.routes:[],{segmentGroup:c,slicedSegments:u}=fc(t,o,a,l.filter(f=>void 0===f.redirectTo),this.relativeLinkResolution);var n;if(0===u.length&&c.hasChildren()){const f=this.processChildren(l,c);return null===f?null:[new di(s,f)]}if(0===l.length&&0===u.length)return[new di(s,[])];const d=ln(e)===r,h=this.processSegment(l,c,u,d?ee:r);return null===h?null:[new di(s,h)]}}function KV(n){const e=n.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function U0(n){const e=[],t=new Set;for(const i of n){if(!KV(i)){e.push(i);continue}const r=e.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):e.push(i)}for(const i of t){const r=U0(i.children);e.push(new di(i.value,r))}return e.filter(i=>!t.has(i))}function $0(n){let e=n;for(;e._sourceSegment;)e=e._sourceSegment;return e}function z0(n){let e=n,t=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,t+=e._segmentIndexShift?e._segmentIndexShift:0;return t-1}function W0(n){return n.data||{}}function G0(n){return n.resolve||{}}function Jf(n){return Sn(e=>{const t=n(e);return t?Ye(t).pipe(Z(()=>e)):j(e)})}class i2 extends class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}}{}const Zf=new z("ROUTES");class q0{constructor(e,t,i,r){this.injector=e,this.compiler=t,this.onLoadStartListener=i,this.onLoadEndListener=r}load(e,t){if(t._loader$)return t._loader$;this.onLoadStartListener&&this.onLoadStartListener(t);const r=this.loadModuleFactory(t.loadChildren).pipe(Z(s=>{this.onLoadEndListener&&this.onLoadEndListener(t);const o=s.create(e);return new Gf(c0(o.injector.get(Zf,void 0,$.Self|$.Optional)).map(Yf),o)}),st(s=>{throw t._loader$=void 0,s}));return t._loader$=new XD(r,()=>new Jt).pipe(ZD()),t._loader$}loadModuleFactory(e){return qn(e()).pipe(He(t=>t instanceof Zv?j(t):Ye(this.compiler.compileModuleAsync(t))))}}class s2{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}}function o2(n){throw n}function a2(n,e,t){return e.parse("/")}function Y0(n,e){return j(null)}const l2={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},c2={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Pt=(()=>{class n{constructor(t,i,r,s,o,a,l){this.rootComponentType=t,this.urlSerializer=i,this.rootContexts=r,this.location=s,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new Jt,this.errorHandler=o2,this.malformedUriErrorHandler=a2,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Y0,afterPreactivation:Y0},this.urlHandlingStrategy=new s2,this.routeReuseStrategy=new i2,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=o.get(oi),this.console=o.get(Pb);const d=o.get(ze);this.isNgZoneEnabled=d instanceof ze&&ze.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=new nr(new se([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new q0(o,a,h=>this.triggerEvent(new r0(h)),h=>this.triggerEvent(new s0(h))),this.routerState=w0(this.currentUrlTree,this.rootComponentType),this.transitions=new Mn({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var t;return null===(t=this.location.getState())||void 0===t?void 0:t.\u0275routerPageId}setupNavigations(t){const i=this.events;return t.pipe(Yt(r=>0!==r.id),Z(r=>Object.assign(Object.assign({},r),{extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),Sn(r=>{let s=!1,o=!1;return j(r).pipe(Ot(a=>{this.currentNavigation={id:a.id,initialUrl:a.currentRawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Sn(a=>{const l=this.browserUrlTree.toString(),c=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||c)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return _c(a.source)&&(this.browserUrlTree=a.extractedUrl),j(a).pipe(Sn(d=>{const h=this.transitions.getValue();return i.next(new Ff(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?Xn:Promise.resolve(d)}),function(n,e,t,i){return Sn(r=>function(n,e,t,i,r){return new AV(n,e,t,i,r).apply()}(n,e,t,r.extractedUrl,i).pipe(Z(s=>Object.assign(Object.assign({},r),{urlAfterRedirects:s}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Ot(d=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:d.urlAfterRedirects})}),function(n,e,t,i,r){return He(s=>function(n,e,t,i,r="emptyOnly",s="legacy"){try{const o=new GV(n,e,t,i,r,s).recognize();return null===o?H0(new zV):j(o)}catch(o){return H0(o)}}(n,e,s.urlAfterRedirects,t(s.urlAfterRedirects),i,r).pipe(Z(o=>Object.assign(Object.assign({},s),{targetSnapshot:o}))))}(this.rootComponentType,this.config,d=>this.serializeUrl(d),this.paramsInheritanceStrategy,this.relativeLinkResolution),Ot(d=>{if("eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new DL(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(c&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:_}=a,v=new Ff(h,this.serializeUrl(f),p,g);i.next(v);const b=w0(f,this.rootComponentType).snapshot;return j(Object.assign(Object.assign({},a),{targetSnapshot:b,urlAfterRedirects:f,extras:Object.assign(Object.assign({},_),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=a.rawUrl,a.resolve(null),Xn}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.beforePreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Ot(a=>{const l=new wL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),Z(a=>Object.assign(Object.assign({},a),{guards:OV(a.targetSnapshot,a.currentSnapshot,this.rootContexts)})),function(n,e){return He(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:o}}=t;return 0===o.length&&0===s.length?j(Object.assign(Object.assign({},t),{guardsResult:!0})):function(n,e,t,i){return Ye(n).pipe(He(r=>function(n,e,t,i,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return s&&0!==s.length?j(s.map(a=>{const l=yc(a,e,r);let c;if(function(n){return n&&Fi(n.canDeactivate)}(l))c=qn(l.canDeactivate(n,e,t,i));else{if(!Fi(l))throw new Error("Invalid CanDeactivate guard");c=qn(l(n,e,t,i))}return c.pipe(vs())})).pipe($o()):j(!0)}(r.component,r.route,t,e,i)),vs(r=>!0!==r,!0))}(o,i,r,n).pipe(He(a=>a&&function(n){return"boolean"==typeof n}(a)?function(n,e,t,i){return Ye(e).pipe(gs(r=>No(function(n,e){return null!==n&&e&&e(new SL(n)),j(!0)}(r.route.parent,i),function(n,e){return null!==n&&e&&e(new IL(n)),j(!0)}(r.route,i),function(n,e,t){const i=e[e.length-1],s=e.slice(0,e.length-1).reverse().map(o=>function(n){const e=n.routeConfig?n.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:n,guards:e}:null}(o)).filter(o=>null!==o).map(o=>ic(()=>j(o.guards.map(l=>{const c=yc(l,o.node,t);let u;if(function(n){return n&&Fi(n.canActivateChild)}(c))u=qn(c.canActivateChild(i,n));else{if(!Fi(c))throw new Error("Invalid CanActivateChild guard");u=qn(c(i,n))}return u.pipe(vs())})).pipe($o())));return j(s).pipe($o())}(n,r.path,t),function(n,e,t){const i=e.routeConfig?e.routeConfig.canActivate:null;if(!i||0===i.length)return j(!0);const r=i.map(s=>ic(()=>{const o=yc(s,e,t);let a;if(function(n){return n&&Fi(n.canActivate)}(o))a=qn(o.canActivate(e,n));else{if(!Fi(o))throw new Error("Invalid CanActivate guard");a=qn(o(e,n))}return a.pipe(vs())}));return j(r).pipe($o())}(n,r.route,t))),vs(r=>!0!==r,!0))}(i,s,n,e):j(a)),Z(a=>Object.assign(Object.assign({},t),{guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Ot(a=>{if(rr(a.guardsResult)){const c=Nf(`Redirecting to "${this.serializeUrl(a.guardsResult)}"`);throw c.url=a.guardsResult,c}const l=new xL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Yt(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,""),!1)),Jf(a=>{if(a.guards.canActivateChecks.length)return j(a).pipe(Ot(l=>{const c=new EL(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}),Sn(l=>{let c=!1;return j(l).pipe(function(n,e){return He(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return j(t);let s=0;return Ye(r).pipe(gs(o=>function(n,e,t,i){return function(n,e,t,i){const r=Object.keys(n);if(0===r.length)return j({});const s={};return Ye(r).pipe(He(o=>function(n,e,t,i){const r=yc(n,e,i);return qn(r.resolve?r.resolve(e,t):r(e,t))}(n[o],e,t,i).pipe(Ot(a=>{s[o]=a}))),Rf(1),He(()=>Object.keys(s).length===r.length?j(s):Xn))}(n._resolve,n,e,i).pipe(Z(s=>(n._resolvedData=s,n.data=Object.assign(Object.assign({},n.data),x0(n,t).resolve),null)))}(o.route,i,n,e)),Ot(()=>s++),Rf(1),He(o=>s===r.length?j(t):Xn))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Ot({next:()=>c=!0,complete:()=>{c||(this.restoreHistory(l),this.cancelNavigationTransition(l,"At least one route resolver didn't emit any value."))}}))}),Ot(l=>{const c=new ML(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}))}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.afterPreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Z(a=>{const l=function(n,e,t){const i=jo(n,e._root,t?t._root:void 0);return new D0(i,e)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return Object.assign(Object.assign({},a),{targetRouterState:l})}),Ot(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((n,e,t)=>Z(i=>(new uV(e,i.targetRouterState,i.currentRouterState,t).activate(n),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Ot({next(){s=!0},complete(){s=!0}}),function(n){return je((e,t)=>{try{e.subscribe(t)}finally{t.add(n)}})}(()=>{var a;s||o||this.cancelNavigationTransition(r,`Navigation ID ${r.id} is not equal to the current navigation id ${this.navigationId}`),(null===(a=this.currentNavigation)||void 0===a?void 0:a.id)===r.id&&(this.currentNavigation=null)}),st(a=>{if(o=!0,function(n){return n&&n[a0]}(a)){const l=rr(a.url);l||(this.navigated=!0,this.restoreHistory(r,!0));const c=new n0(r.id,this.serializeUrl(r.extractedUrl),a.message);i.next(c),l?setTimeout(()=>{const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),d={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||_c(r.source)};this.scheduleNavigation(u,"imperative",null,d,{resolve:r.resolve,reject:r.reject,promise:r.promise})},0):r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new CL(r.id,this.serializeUrl(r.extractedUrl),a);i.next(l);try{r.resolve(this.errorHandler(a))}catch(c){r.reject(c)}}return Xn}))}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{var r;const s={replaceUrl:!0},o=(null===(r=t.state)||void 0===r?void 0:r.navigationId)?t.state:null;if(o){const l=Object.assign({},o);delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(s.state=l)}const a=this.parseUrl(t.url);this.scheduleNavigation(a,i,o,s)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){k0(t),this.config=t.map(Yf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,i={}){const{relativeTo:r,queryParams:s,fragment:o,queryParamsHandling:a,preserveFragment:l}=i,c=r||this.routerState.root,u=l?this.currentUrlTree.fragment:o;let d=null;switch(a){case"merge":d=Object.assign(Object.assign({},this.currentUrlTree.queryParams),s);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=s||null}return null!==d&&(d=this.removeEmptyProps(d)),function(n,e,t,i,r){if(0===t.length)return $f(e.root,e.root,e,i,r);const s=function(n){if("string"==typeof n[0]&&1===n.length&&"/"===n[0])return new A0(!0,0,n);let e=0,t=!1;const i=n.reduce((r,s,o)=>{if("object"==typeof s&&null!=s){if(s.outlets){const a={};return at(s.outlets,(l,c)=>{a[c]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(s.segmentPath)return[...r,s.segmentPath]}return"string"!=typeof s?[...r,s]:0===o?(s.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?e++:""!=a&&r.push(a))}),r):[...r,s]},[]);return new A0(t,e,i)}(t);if(s.toRoot())return $f(e.root,new se([],{}),e,i,r);const o=function(n,e,t){if(n.isAbsolute)return new zf(e.root,!0,0);if(-1===t.snapshot._lastPathIndex){const s=t.snapshot._urlSegment;return new zf(s,s===e.root,0)}const i=uc(n.commands[0])?0:1;return function(n,e,t){let i=n,r=e,s=t;for(;s>r;){if(s-=r,i=i.parent,!i)throw new Error("Invalid number of '../'");r=i.segments.length}return new zf(i,!1,r-s)}(t.snapshot._urlSegment,t.snapshot._lastPathIndex+i,n.numberOfDoubleDots)}(s,e,n),a=o.processChildren?dc(o.segmentGroup,o.index,s.commands):I0(o.segmentGroup,o.index,s.commands);return $f(o.segmentGroup,a,e,i,r)}(c,this.currentUrlTree,t,d,null!=u?u:null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=rr(t)?t:this.parseUrl(t),s=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(s,"imperative",null,i)}navigate(t,i={skipLocationChange:!1}){return function(n){for(let e=0;e<n.length;e++){const t=n[e];if(null==t)throw new Error(`The requested path contains ${t} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,i),i)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let i;try{i=this.urlSerializer.parse(t)}catch(r){i=this.malformedUriErrorHandler(r,this.urlSerializer,t)}return i}isActive(t,i){let r;if(r=!0===i?Object.assign({},l2):!1===i?Object.assign({},c2):i,rr(t))return h0(this.currentUrlTree,t,r);const s=this.parseUrl(t);return h0(this.currentUrlTree,s,r)}removeEmptyProps(t){return Object.keys(t).reduce((i,r)=>{const s=t[r];return null!=s&&(i[r]=s),i},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId,this.events.next(new Lo(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}scheduleNavigation(t,i,r,s,o){var a,l,c;if(this.disposed)return Promise.resolve(!1);const u=this.transitions.value,d=_c(i)&&u&&!_c(u.source),h=u.rawUrl.toString()===t.toString(),f=u.id===(null===(a=this.currentNavigation)||void 0===a?void 0:a.id);if(d&&h&&f)return Promise.resolve(!0);let g,_,v;o?(g=o.resolve,_=o.reject,v=o.promise):v=new Promise((C,w)=>{g=C,_=w});const b=++this.navigationId;let D;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),D=r&&r.\u0275routerPageId?r.\u0275routerPageId:s.replaceUrl||s.skipLocationChange?null!==(l=this.browserPageId)&&void 0!==l?l:0:(null!==(c=this.browserPageId)&&void 0!==c?c:0)+1):D=0,this.setTransition({id:b,targetPageId:D,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:s,resolve:g,reject:_,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(C=>Promise.reject(C))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t),s=Object.assign(Object.assign({},i.extras.state),this.generateNgRouterState(i.id,i.targetPageId));this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",s):this.location.go(r,"",s)}restoreHistory(t,i=!1){var r,s;if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-t.targetPageId;"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)||0===o?this.currentUrlTree===(null===(s=this.currentNavigation)||void 0===s?void 0:s.finalUrl)&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(t,i){const r=new n0(t.id,this.serializeUrl(t.extractedUrl),i);this.triggerEvent(r),t.resolve(!1)}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function _c(n){return"imperative"!==n}class K0{}class J0{preload(e,t){return j(null)}}let Z0=(()=>{class n{constructor(t,i,r,s){this.router=t,this.injector=r,this.preloadingStrategy=s,this.loader=new q0(r,i,l=>t.triggerEvent(new r0(l)),l=>t.triggerEvent(new s0(l)))}setUpPreloading(){this.subscription=this.router.events.pipe(Yt(t=>t instanceof Lo),gs(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(oi);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const s of i)if(s.loadChildren&&!s.canLoad&&s._loadedConfig){const o=s._loadedConfig;r.push(this.processRoutes(o.module,o.routes))}else s.loadChildren&&!s.canLoad?r.push(this.preloadConfig(t,s)):s.children&&r.push(this.processRoutes(t,s.children));return Ye(r).pipe(Os(),Z(s=>{}))}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>(i._loadedConfig?j(i._loadedConfig):this.loader.load(t.injector,i)).pipe(He(s=>(i._loadedConfig=s,this.processRoutes(s.module,s.routes)))))}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(Ml),P(rt),P(K0))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ep=(()=>{class n{constructor(t,i,r={}){this.router=t,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Ff?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Lo&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof o0&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.router.triggerEvent(new o0(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const sr=new z("ROUTER_CONFIGURATION"),X0=new z("ROUTER_FORROOT_GUARD"),p2=[Hh,{provide:m0,useClass:y0},{provide:Pt,useFactory:function(n,e,t,i,r,s,o={},a,l){const c=new Pt(null,n,e,t,i,r,c0(s));return a&&(c.urlHandlingStrategy=a),l&&(c.routeReuseStrategy=l),function(n,e){n.errorHandler&&(e.errorHandler=n.errorHandler),n.malformedUriErrorHandler&&(e.malformedUriErrorHandler=n.malformedUriErrorHandler),n.onSameUrlNavigation&&(e.onSameUrlNavigation=n.onSameUrlNavigation),n.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=n.paramsInheritanceStrategy),n.relativeLinkResolution&&(e.relativeLinkResolution=n.relativeLinkResolution),n.urlUpdateStrategy&&(e.urlUpdateStrategy=n.urlUpdateStrategy),n.canceledNavigationResolution&&(e.canceledNavigationResolution=n.canceledNavigationResolution)}(o,c),o.enableTracing&&c.events.subscribe(u=>{var d,h;null===(d=console.group)||void 0===d||d.call(console,`Router Event: ${u.constructor.name}`),console.log(u.toString()),console.log(u),null===(h=console.groupEnd)||void 0===h||h.call(console)}),c},deps:[m0,zo,Hh,rt,Ml,Zf,sr,[class{},new Fn],[class{},new Fn]]},zo,{provide:Ds,useFactory:function(n){return n.routerState.root},deps:[Pt]},Z0,J0,class{preload(e,t){return t().pipe(st(()=>j(null)))}},{provide:sr,useValue:{enableTracing:!1}}];function g2(){return new Vb("Router",Pt)}let Q0=(()=>{class n{constructor(t,i){}static forRoot(t,i){return{ngModule:n,providers:[p2,ew(t),{provide:X0,useFactory:_2,deps:[[Pt,new Fn,new Fr]]},{provide:sr,useValue:i||{}},{provide:ps,useFactory:y2,deps:[Qi,[new Ks(Il),new Fn],sr]},{provide:ep,useFactory:m2,deps:[Pt,fF,sr]},{provide:K0,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:J0},{provide:Vb,multi:!0,useFactory:g2},[tp,{provide:bo,multi:!0,useFactory:D2,deps:[tp]},{provide:tw,useFactory:w2,deps:[tp]},{provide:Ob,multi:!0,useExisting:tw}]]}}static forChild(t){return{ngModule:n,providers:[ew(t)]}}}return n.\u0275fac=function(t){return new(t||n)(P(X0,8),P(Pt,8))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();function m2(n,e,t){return t.scrollOffset&&e.setOffset(t.scrollOffset),new ep(n,e,t)}function y2(n,e,t={}){return t.useHash?new Wk(n,e):new oC(n,e)}function _2(n){return"guarded"}function ew(n){return[{provide:uS,multi:!0,useValue:n},{provide:Zf,multi:!0,useValue:n}]}let tp=(()=>{class n{constructor(t){this.injector=t,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new Jt}appInitializer(){return this.injector.get(Uk,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let i=null;const r=new Promise(a=>i=a),s=this.injector.get(Pt),o=this.injector.get(sr);return"disabled"===o.initialNavigation?(s.setUpLocationChangeListener(),i(!0)):"enabled"===o.initialNavigation||"enabledBlocking"===o.initialNavigation?(s.hooks.afterPreactivation=()=>this.initNavigation?j(null):(this.initNavigation=!0,i(!0),this.resultOfPreactivationDone),s.initialNavigation()):i(!0),r})}bootstrapListener(t){const i=this.injector.get(sr),r=this.injector.get(Z0),s=this.injector.get(ep),o=this.injector.get(Pt),a=this.injector.get(hs);t===a.components[0]&&(("enabledNonBlocking"===i.initialNavigation||void 0===i.initialNavigation)&&o.initialNavigation(),r.setUpPreloading(),s.init(),o.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function D2(n){return n.appInitializer.bind(n)}function w2(n){return n.bootstrapListener.bind(n)}const tw=new z("Router Initializer"),nw="undefined"==typeof window?function(n){return n()}:window.requestAnimationFrame;function iw(n,e,t){const i=t||(o=>Array.prototype.slice.call(o));let r=!1,s=[];return function(...o){s=i(o),r||(r=!0,nw.call(window,()=>{r=!1,n.apply(e,s)}))}}const np=n=>"start"===n?"left":"end"===n?"right":"center",pt=(n,e,t)=>"start"===n?e:"end"===n?t:(e+t)/2;function hi(){}const S2=function(){let n=0;return function(){return n++}}();function de(n){return null==n}function we(n){if(Array.isArray&&Array.isArray(n))return!0;const e=Object.prototype.toString.call(n);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function oe(n){return null!==n&&"[object Object]"===Object.prototype.toString.call(n)}const Be=n=>("number"==typeof n||n instanceof Number)&&isFinite(+n);function cn(n,e){return Be(n)?n:e}function K(n,e){return void 0===n?e:n}const rw=(n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100*e:+n;function xe(n,e,t){if(n&&"function"==typeof n.call)return n.apply(t,e)}function pe(n,e,t,i){let r,s,o;if(we(n))if(s=n.length,i)for(r=s-1;r>=0;r--)e.call(t,n[r],r);else for(r=0;r<s;r++)e.call(t,n[r],r);else if(oe(n))for(o=Object.keys(n),s=o.length,r=0;r<s;r++)e.call(t,n[o[r]],o[r])}function vc(n,e){let t,i,r,s;if(!n||!e||n.length!==e.length)return!1;for(t=0,i=n.length;t<i;++t)if(r=n[t],s=e[t],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function bc(n){if(we(n))return n.map(bc);if(oe(n)){const e=Object.create(null),t=Object.keys(n),i=t.length;let r=0;for(;r<i;++r)e[t[r]]=bc(n[t[r]]);return e}return n}function sw(n){return-1===["__proto__","prototype","constructor"].indexOf(n)}function I2(n,e,t,i){if(!sw(n))return;const r=e[n],s=t[n];oe(r)&&oe(s)?Yo(r,s,i):e[n]=bc(s)}function Yo(n,e,t){const i=we(e)?e:[e],r=i.length;if(!oe(n))return n;const s=(t=t||{}).merger||I2;for(let o=0;o<r;++o){if(!oe(e=i[o]))continue;const a=Object.keys(e);for(let l=0,c=a.length;l<c;++l)s(a[l],n,e,t)}return n}function Ko(n,e){return Yo(n,e,{merger:T2})}function T2(n,e,t){if(!sw(n))return;const i=e[n],r=t[n];oe(i)&&oe(r)?Ko(i,r):Object.prototype.hasOwnProperty.call(e,n)||(e[n]=bc(r))}function ow(n,e){const t=n.indexOf(".",e);return-1===t?n.length:t}function or(n,e){if(""===e)return n;let t=0,i=ow(e,t);for(;n&&i>t;)n=n[e.substr(t,i-t)],t=i+1,i=ow(e,t);return n}function ip(n){return n.charAt(0).toUpperCase()+n.slice(1)}const un=n=>void 0!==n,Ni=n=>"function"==typeof n,aw=(n,e)=>{if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0},Ae=Math.PI,_e=2*Ae,R2=_e+Ae,Cc=Number.POSITIVE_INFINITY,F2=Ae/180,Fe=Ae/2,Jo=Ae/4,lw=2*Ae/3,dn=Math.log10,Yn=Math.sign;function cw(n){const e=Math.round(n);n=Xo(n,e,n/1e3)?e:n;const t=Math.pow(10,Math.floor(dn(n))),i=n/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function Zo(n){return!isNaN(parseFloat(n))&&isFinite(n)}function Xo(n,e,t){return Math.abs(n-e)<t}function uw(n,e,t){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][t],isNaN(s)||(e.min=Math.min(e.min,s),e.max=Math.max(e.max,s))}function An(n){return n*(Ae/180)}function rp(n){return n*(180/Ae)}function dw(n){if(!Be(n))return;let e=1,t=0;for(;Math.round(n*e)/e!==n;)e*=10,t++;return t}function hw(n,e){const t=e.x-n.x,i=e.y-n.y,r=Math.sqrt(t*t+i*i);let s=Math.atan2(i,t);return s<-.5*Ae&&(s+=_e),{angle:s,distance:r}}function sp(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function V2(n,e){return(n-e+R2)%_e-Ae}function Kt(n){return(n%_e+_e)%_e}function Qo(n,e,t,i){const r=Kt(n),s=Kt(e),o=Kt(t),a=Kt(s-r),l=Kt(o-r),c=Kt(r-s),u=Kt(r-o);return r===s||r===o||i&&s===o||a>l&&c<u}function ot(n,e,t){return Math.max(e,Math.min(t,n))}function fi(n,e,t,i=1e-6){return n>=Math.min(e,t)-i&&n<=Math.max(e,t)+i}const Dc=n=>0===n||1===n,fw=(n,e,t)=>-Math.pow(2,10*(n-=1))*Math.sin((n-e)*_e/t),pw=(n,e,t)=>Math.pow(2,-10*n)*Math.sin((n-e)*_e/t)+1,ea={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>1-Math.cos(n*Fe),easeOutSine:n=>Math.sin(n*Fe),easeInOutSine:n=>-.5*(Math.cos(Ae*n)-1),easeInExpo:n=>0===n?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>1===n?1:1-Math.pow(2,-10*n),easeInOutExpo:n=>Dc(n)?n:n<.5?.5*Math.pow(2,10*(2*n-1)):.5*(2-Math.pow(2,-10*(2*n-1))),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Dc(n)?n:fw(n,.075,.3),easeOutElastic:n=>Dc(n)?n:pw(n,.075,.3),easeInOutElastic(n){const e=.1125;return Dc(n)?n:n<.5?.5*fw(2*n,e,.45):.5+.5*pw(2*n-1,e,.45)},easeInBack(n){const e=1.70158;return n*n*((e+1)*n-e)},easeOutBack(n){const e=1.70158;return(n-=1)*n*((e+1)*n+e)+1},easeInOutBack(n){let e=1.70158;return(n/=.5)<1?n*n*((1+(e*=1.525))*n-e)*.5:.5*((n-=2)*n*((1+(e*=1.525))*n+e)+2)},easeInBounce:n=>1-ea.easeOutBounce(1-n),easeOutBounce(n){const e=7.5625,t=2.75;return n<1/t?e*n*n:n<2/t?e*(n-=1.5/t)*n+.75:n<2.5/t?e*(n-=2.25/t)*n+.9375:e*(n-=2.625/t)*n+.984375},easeInOutBounce:n=>n<.5?.5*ea.easeInBounce(2*n):.5*ea.easeOutBounce(2*n-1)+.5},hn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},op="0123456789ABCDEF",j2=n=>op[15&n],H2=n=>op[(240&n)>>4]+op[15&n],wc=n=>(240&n)>>4==(15&n);function ta(n){return n+.5|0}const xc=(n,e,t)=>Math.max(Math.min(n,t),e);function na(n){return xc(ta(2.55*n),0,255)}function ia(n){return xc(ta(255*n),0,255)}function ap(n){return xc(ta(n/2.55)/100,0,1)}function gw(n){return xc(ta(100*n),0,100)}const W2=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,Y2=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function mw(n,e,t){const i=e*Math.min(t,1-t),r=(s,o=(s+n/30)%12)=>t-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function K2(n,e,t){const i=(r,s=(r+n/60)%6)=>t-t*e*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function J2(n,e,t){const i=mw(n,1,.5);let r;for(e+t>1&&(r=1/(e+t),e*=r,t*=r),r=0;r<3;r++)i[r]*=1-e-t,i[r]+=e;return i}function lp(n){const t=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(t,i,r),o=Math.min(t,i,r),a=(s+o)/2;let l,c,u;return s!==o&&(u=s-o,c=a>.5?u/(2-s-o):u/(s+o),l=s===t?(i-r)/u+(i<r?6:0):s===i?(r-t)/u+2:(t-i)/u+4,l=60*l+.5),[0|l,c||0,a]}function cp(n,e,t,i){return(Array.isArray(e)?n(e[0],e[1],e[2]):n(e,t,i)).map(ia)}function up(n,e,t){return cp(mw,n,e,t)}function yw(n){return(n%360+360)%360}const _w={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},vw={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ec;function Mc(n,e,t){if(n){let i=lp(n);i[e]=Math.max(0,Math.min(i[e]+i[e]*t,0===e?360:1)),i=up(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function bw(n,e){return n&&Object.assign(e||{},n)}function Cw(n){var e={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(e={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(e.a=ia(n[3]))):(e=bw(n,{r:0,g:0,b:0,a:1})).a=ia(e.a),e}function rB(n){return"r"===n.charAt(0)?function(n){const e=W2.exec(n);let i,r,s,t=255;if(e){if(e[7]!==i){const o=+e[7];t=255&(e[8]?na(o):255*o)}return i=+e[1],r=+e[3],s=+e[5],i=255&(e[2]?na(i):i),r=255&(e[4]?na(r):r),s=255&(e[6]?na(s):s),{r:i,g:r,b:s,a:t}}}(n):function(n){const e=Y2.exec(n);let i,t=255;if(!e)return;e[5]!==i&&(t=e[6]?na(+e[5]):ia(+e[5]));const r=yw(+e[2]),s=+e[3]/100,o=+e[4]/100;return i="hwb"===e[1]?function(n,e,t){return cp(J2,n,e,t)}(r,s,o):"hsv"===e[1]?function(n,e,t){return cp(K2,n,e,t)}(r,s,o):up(r,s,o),{r:i[0],g:i[1],b:i[2],a:t}}(n)}class Sc{constructor(e){if(e instanceof Sc)return e;const t=typeof e;let i;"object"===t?i=Cw(e):"string"===t&&(i=function(n){var t,e=n.length;return"#"===n[0]&&(4===e||5===e?t={r:255&17*hn[n[1]],g:255&17*hn[n[2]],b:255&17*hn[n[3]],a:5===e?17*hn[n[4]]:255}:(7===e||9===e)&&(t={r:hn[n[1]]<<4|hn[n[2]],g:hn[n[3]]<<4|hn[n[4]],b:hn[n[5]]<<4|hn[n[6]],a:9===e?hn[n[7]]<<4|hn[n[8]]:255})),t}(e)||function(n){Ec||(Ec=function(){const n={},e=Object.keys(vw),t=Object.keys(_w);let i,r,s,o,a;for(i=0;i<e.length;i++){for(o=a=e[i],r=0;r<t.length;r++)s=t[r],a=a.replace(s,_w[s]);s=parseInt(vw[o],16),n[a]=[s>>16&255,s>>8&255,255&s]}return n}(),Ec.transparent=[0,0,0,0]);const e=Ec[n.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}(e)||rB(e)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var e=bw(this._rgb);return e&&(e.a=ap(e.a)),e}set rgb(e){this._rgb=Cw(e)}rgbString(){return this._valid?(n=this._rgb)&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ap(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`):this._rgb;var n}hexString(){return this._valid?function(n){var e=function(n){return wc(n.r)&&wc(n.g)&&wc(n.b)&&wc(n.a)}(n)?j2:H2;return n&&"#"+e(n.r)+e(n.g)+e(n.b)+(n.a<255?e(n.a):"")}(this._rgb):this._rgb}hslString(){return this._valid?function(n){if(!n)return;const e=lp(n),t=e[0],i=gw(e[1]),r=gw(e[2]);return n.a<255?`hsla(${t}, ${i}%, ${r}%, ${ap(n.a)})`:`hsl(${t}, ${i}%, ${r}%)`}(this._rgb):this._rgb}mix(e,t){const i=this;if(e){const r=i.rgb,s=e.rgb;let o;const a=t===o?.5:t,l=2*a-1,c=r.a-s.a,u=((l*c==-1?l:(l+c)/(1+l*c))+1)/2;o=1-u,r.r=255&u*r.r+o*s.r+.5,r.g=255&u*r.g+o*s.g+.5,r.b=255&u*r.b+o*s.b+.5,r.a=a*r.a+(1-a)*s.a,i.rgb=r}return i}clone(){return new Sc(this.rgb)}alpha(e){return this._rgb.a=ia(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,t=ta(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=t,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Mc(this._rgb,2,e),this}darken(e){return Mc(this._rgb,2,-e),this}saturate(e){return Mc(this._rgb,1,e),this}desaturate(e){return Mc(this._rgb,1,-e),this}rotate(e){return function(n,e){var t=lp(n);t[0]=yw(t[0]+e),t=up(t),n.r=t[0],n.g=t[1],n.b=t[2]}(this._rgb,e),this}}function Dw(n){return new Sc(n)}const ww=n=>n instanceof CanvasGradient||n instanceof CanvasPattern;function xw(n){return ww(n)?n:Dw(n)}function dp(n){return ww(n)?n:Dw(n).saturate(.5).darken(.1).hexString()}const ar=Object.create(null),hp=Object.create(null);function ra(n,e){if(!e)return n;const t=e.split(".");for(let i=0,r=t.length;i<r;++i){const s=t[i];n=n[s]||(n[s]=Object.create(null))}return n}function fp(n,e,t){return"string"==typeof e?Yo(ra(n,e),t):Yo(ra(n,""),e)}var ae=new class{constructor(e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,i)=>dp(i.backgroundColor),this.hoverBorderColor=(t,i)=>dp(i.borderColor),this.hoverColor=(t,i)=>dp(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e)}set(e,t){return fp(this,e,t)}get(e){return ra(this,e)}describe(e,t){return fp(hp,e,t)}override(e,t){return fp(ar,e,t)}route(e,t,i,r){const s=ra(this,e),o=ra(this,i),a="_"+t;Object.defineProperties(s,{[a]:{value:s[t],writable:!0},[t]:{enumerable:!0,get(){const l=this[a],c=o[r];return oe(l)?Object.assign({},c,l):K(l,c)},set(l){this[a]=l}}})}}({_scriptable:n=>!n.startsWith("on"),_indexable:n=>"events"!==n,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Ac(n,e,t,i,r){let s=e[r];return s||(s=e[r]=n.measureText(r).width,t.push(r)),s>i&&(i=s),i}function aB(n,e,t,i){let r=(i=i||{}).data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(r=i.data={},s=i.garbageCollect=[],i.font=e),n.save(),n.font=e;let o=0;const a=t.length;let l,c,u,d,h;for(l=0;l<a;l++)if(d=t[l],null!=d&&!0!==we(d))o=Ac(n,r,s,o,d);else if(we(d))for(c=0,u=d.length;c<u;c++)h=d[c],null!=h&&!we(h)&&(o=Ac(n,r,s,o,h));n.restore();const f=s.length/2;if(f>t.length){for(l=0;l<f;l++)delete r[s[l]];s.splice(0,f)}return o}function lr(n,e,t){const i=n.currentDevicePixelRatio,r=0!==t?Math.max(t/2,.5):0;return Math.round((e-r)*i)/i+r}function Ew(n,e){(e=e||n.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,n.width,n.height),e.restore()}function Ic(n,e,t,i){let r,s,o,a,l;const c=e.pointStyle,u=e.rotation,d=e.radius;let h=(u||0)*F2;if(c&&"object"==typeof c&&(r=c.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return n.save(),n.translate(t,i),n.rotate(h),n.drawImage(c,-c.width/2,-c.height/2,c.width,c.height),void n.restore();if(!(isNaN(d)||d<=0)){switch(n.beginPath(),c){default:n.arc(t,i,d,0,_e),n.closePath();break;case"triangle":n.moveTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),n.closePath();break;case"rectRounded":l=.516*d,a=d-l,s=Math.cos(h+Jo)*a,o=Math.sin(h+Jo)*a,n.arc(t-s,i-o,l,h-Ae,h-Fe),n.arc(t+o,i-s,l,h-Fe,h),n.arc(t+s,i+o,l,h,h+Fe),n.arc(t-o,i+s,l,h+Fe,h+Ae),n.closePath();break;case"rect":if(!u){a=Math.SQRT1_2*d,n.rect(t-a,i-a,2*a,2*a);break}h+=Jo;case"rectRot":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+o,i-s),n.lineTo(t+s,i+o),n.lineTo(t-o,i+s),n.closePath();break;case"crossRot":h+=Jo;case"cross":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"star":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s),h+=Jo,s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"line":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o);break;case"dash":n.moveTo(t,i),n.lineTo(t+Math.cos(h)*d,i+Math.sin(h)*d)}n.fill(),e.borderWidth>0&&n.stroke()}}function cr(n,e,t){return t=t||.5,!e||n&&n.x>e.left-t&&n.x<e.right+t&&n.y>e.top-t&&n.y<e.bottom+t}function Tc(n,e){n.save(),n.beginPath(),n.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),n.clip()}function Oc(n){n.restore()}function lB(n,e,t,i,r){if(!e)return n.lineTo(t.x,t.y);if("middle"===r){const s=(e.x+t.x)/2;n.lineTo(s,e.y),n.lineTo(s,t.y)}else"after"===r!=!!i?n.lineTo(e.x,t.y):n.lineTo(t.x,e.y);n.lineTo(t.x,t.y)}function cB(n,e,t,i){if(!e)return n.lineTo(t.x,t.y);n.bezierCurveTo(i?e.cp1x:e.cp2x,i?e.cp1y:e.cp2y,i?t.cp2x:t.cp1x,i?t.cp2y:t.cp1y,t.x,t.y)}function ur(n,e,t,i,r,s={}){const o=we(e)?e:[e],a=s.strokeWidth>0&&""!==s.strokeColor;let l,c;for(n.save(),n.font=r.string,function(n,e){e.translation&&n.translate(e.translation[0],e.translation[1]),de(e.rotation)||n.rotate(e.rotation),e.color&&(n.fillStyle=e.color),e.textAlign&&(n.textAlign=e.textAlign),e.textBaseline&&(n.textBaseline=e.textBaseline)}(n,s),l=0;l<o.length;++l)c=o[l],a&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),de(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(c,t,i,s.maxWidth)),n.fillText(c,t,i,s.maxWidth),dB(n,t,i,c,s),i+=r.lineHeight;n.restore()}function dB(n,e,t,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),o=e-s.actualBoundingBoxLeft,a=e+s.actualBoundingBoxRight,l=t-s.actualBoundingBoxAscent,c=t+s.actualBoundingBoxDescent,u=r.strikethrough?(l+c)/2:c;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(o,u),n.lineTo(a,u),n.stroke()}}function Pc(n,e){const{x:t,y:i,w:r,h:s,radius:o}=e;n.arc(t+o.topLeft,i+o.topLeft,o.topLeft,-Fe,Ae,!0),n.lineTo(t,i+s-o.bottomLeft),n.arc(t+o.bottomLeft,i+s-o.bottomLeft,o.bottomLeft,Ae,Fe,!0),n.lineTo(t+r-o.bottomRight,i+s),n.arc(t+r-o.bottomRight,i+s-o.bottomRight,o.bottomRight,Fe,0,!0),n.lineTo(t+r,i+o.topRight),n.arc(t+r-o.topRight,i+o.topRight,o.topRight,0,-Fe,!0),n.lineTo(t+o.topLeft,i)}const hB=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),fB=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function pB(n,e){const t=(""+n).match(hB);if(!t||"normal"===t[1])return 1.2*e;switch(n=+t[2],t[3]){case"px":return n;case"%":n/=100}return e*n}const gB=n=>+n||0;function pp(n,e){const t={},i=oe(e),r=i?Object.keys(e):e,s=oe(n)?i?o=>K(n[o],n[e[o]]):o=>n[o]:()=>n;for(const o of r)t[o]=gB(s(o));return t}function Mw(n){return pp(n,{top:"y",right:"x",bottom:"y",left:"x"})}function xs(n){return pp(n,["topLeft","topRight","bottomLeft","bottomRight"])}function gt(n){const e=Mw(n);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function et(n,e){let t=K((n=n||{}).size,(e=e||ae.font).size);"string"==typeof t&&(t=parseInt(t,10));let i=K(n.style,e.style);i&&!(""+i).match(fB)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");const r={family:K(n.family,e.family),lineHeight:pB(K(n.lineHeight,e.lineHeight),t),size:t,style:i,weight:K(n.weight,e.weight),string:""};return r.string=function(n){return!n||de(n.size)||de(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}(r),r}function sa(n,e,t,i){let s,o,a,r=!0;for(s=0,o=n.length;s<o;++s)if(a=n[s],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==t&&we(a)&&(a=a[t%a.length],r=!1),void 0!==a))return i&&!r&&(i.cacheable=!1),a}function Li(n,e){return Object.assign(Object.create(n),e)}function gp(n,e,t){t=t||(o=>n[o]<e);let s,i=n.length-1,r=0;for(;i-r>1;)s=r+i>>1,t(s)?r=s:i=s;return{lo:r,hi:i}}const pi=(n,e,t)=>gp(n,t,i=>n[i][e]<t),yB=(n,e,t)=>gp(n,t,i=>n[i][e]>=t),Sw=["push","pop","shift","splice","unshift"];function Aw(n,e){const t=n._chartjs;if(!t)return;const i=t.listeners,r=i.indexOf(e);-1!==r&&i.splice(r,1),!(i.length>0)&&(Sw.forEach(s=>{delete n[s]}),delete n._chartjs)}function Iw(n){const e=new Set;let t,i;for(t=0,i=n.length;t<i;++t)e.add(n[t]);return e.size===i?n:Array.from(e)}function mp(n,e=[""],t=n,i,r=(()=>n[0])){un(i)||(i=Rw("_fallback",n));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:t,_fallback:i,_getTarget:r,override:o=>mp([o,...n],e,t,i)};return new Proxy(s,{deleteProperty:(o,a)=>(delete o[a],delete o._keys,delete n[0][a],!0),get:(o,a)=>Ow(o,a,()=>function(n,e,t,i){let r;for(const s of e)if(r=Rw(bB(s,n),t),un(r))return yp(n,r)?_p(t,i,n,r):r}(a,e,n,o)),getOwnPropertyDescriptor:(o,a)=>Reflect.getOwnPropertyDescriptor(o._scopes[0],a),getPrototypeOf:()=>Reflect.getPrototypeOf(n[0]),has:(o,a)=>Fw(o).includes(a),ownKeys:o=>Fw(o),set(o,a,l){const c=o._storage||(o._storage=r());return o[a]=c[a]=l,delete o._keys,!0}})}function Es(n,e,t,i){const r={_cacheable:!1,_proxy:n,_context:e,_subProxy:t,_stack:new Set,_descriptors:Tw(n,i),setContext:s=>Es(n,s,t,i),override:s=>Es(n.override(s),e,t,i)};return new Proxy(r,{deleteProperty:(s,o)=>(delete s[o],delete n[o],!0),get:(s,o,a)=>Ow(s,o,()=>function(n,e,t){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=n;let a=i[e];return Ni(a)&&o.isScriptable(e)&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_stack:a}=t;if(a.has(n))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+n);return a.add(n),e=e(s,o||i),a.delete(n),yp(n,e)&&(e=_p(r._scopes,r,n,e)),e}(e,a,n,t)),we(a)&&a.length&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:a}=t;if(un(s.index)&&i(n))e=e[s.index%e.length];else if(oe(e[0])){const l=e,c=r._scopes.filter(u=>u!==l);e=[];for(const u of l){const d=_p(c,r,n,u);e.push(Es(d,s,o&&o[n],a))}}return e}(e,a,n,o.isIndexable)),yp(e,a)&&(a=Es(a,r,s&&s[e],o)),a}(s,o,a)),getOwnPropertyDescriptor:(s,o)=>s._descriptors.allKeys?Reflect.has(n,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,o),getPrototypeOf:()=>Reflect.getPrototypeOf(n),has:(s,o)=>Reflect.has(n,o),ownKeys:()=>Reflect.ownKeys(n),set:(s,o,a)=>(n[o]=a,delete s[o],!0)})}function Tw(n,e={scriptable:!0,indexable:!0}){const{_scriptable:t=e.scriptable,_indexable:i=e.indexable,_allKeys:r=e.allKeys}=n;return{allKeys:r,scriptable:t,indexable:i,isScriptable:Ni(t)?t:()=>t,isIndexable:Ni(i)?i:()=>i}}const bB=(n,e)=>n?n+ip(e):e,yp=(n,e)=>oe(e)&&"adapters"!==n&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ow(n,e,t){if(Object.prototype.hasOwnProperty.call(n,e))return n[e];const i=t();return n[e]=i,i}function Pw(n,e,t){return Ni(n)?n(e,t):n}const xB=(n,e)=>!0===n?e:"string"==typeof n?or(e,n):void 0;function EB(n,e,t,i,r){for(const s of e){const o=xB(t,s);if(o){n.add(o);const a=Pw(o._fallback,t,r);if(un(a)&&a!==t&&a!==i)return a}else if(!1===o&&un(i)&&t!==i)return null}return!1}function _p(n,e,t,i){const r=e._rootScopes,s=Pw(e._fallback,t,i),o=[...n,...r],a=new Set;a.add(i);let l=kw(a,o,t,s||t,i);return!(null===l||un(s)&&s!==t&&(l=kw(a,o,s,l,i),null===l))&&mp(Array.from(a),[""],r,s,()=>function(n,e,t){const i=n._getTarget();e in i||(i[e]={});const r=i[e];return we(r)&&oe(t)?t:r}(e,t,i))}function kw(n,e,t,i,r){for(;t;)t=EB(n,e,t,i,r);return t}function Rw(n,e){for(const t of e){if(!t)continue;const i=t[n];if(un(i))return i}}function Fw(n){let e=n._keys;return e||(e=n._keys=function(n){const e=new Set;for(const t of n)for(const i of Object.keys(t).filter(r=>!r.startsWith("_")))e.add(i);return Array.from(e)}(n._scopes)),e}const IB=Number.EPSILON||1e-14,Ms=(n,e)=>e<n.length&&!n[e].skip&&n[e],Nw=n=>"x"===n?"y":"x";function TB(n,e,t,i){const r=n.skip?e:n,s=e,o=t.skip?e:t,a=sp(s,r),l=sp(o,s);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=i*c,h=i*u;return{previous:{x:s.x-d*(o.x-r.x),y:s.y-d*(o.y-r.y)},next:{x:s.x+h*(o.x-r.x),y:s.y+h*(o.y-r.y)}}}function kc(n,e,t){return Math.max(Math.min(n,t),e)}function FB(n,e,t,i,r){let s,o,a,l;if(e.spanGaps&&(n=n.filter(c=>!c.skip)),"monotone"===e.cubicInterpolationMode)!function(n,e="x"){const t=Nw(e),i=n.length,r=Array(i).fill(0),s=Array(i);let o,a,l,c=Ms(n,0);for(o=0;o<i;++o)if(a=l,l=c,c=Ms(n,o+1),l){if(c){const u=c[e]-l[e];r[o]=0!==u?(c[t]-l[t])/u:0}s[o]=a?c?Yn(r[o-1])!==Yn(r[o])?0:(r[o-1]+r[o])/2:r[o-1]:r[o]}(function(n,e,t){const i=n.length;let r,s,o,a,l,c=Ms(n,0);for(let u=0;u<i-1;++u)if(l=c,c=Ms(n,u+1),l&&c){if(Xo(e[u],0,IB)){t[u]=t[u+1]=0;continue}r=t[u]/e[u],s=t[u+1]/e[u],a=Math.pow(r,2)+Math.pow(s,2),!(a<=9)&&(o=3/Math.sqrt(a),t[u]=r*o*e[u],t[u+1]=s*o*e[u])}})(n,r,s),function(n,e,t="x"){const i=Nw(t),r=n.length;let s,o,a,l=Ms(n,0);for(let c=0;c<r;++c){if(o=a,a=l,l=Ms(n,c+1),!a)continue;const u=a[t],d=a[i];o&&(s=(u-o[t])/3,a[`cp1${t}`]=u-s,a[`cp1${i}`]=d-s*e[c]),l&&(s=(l[t]-u)/3,a[`cp2${t}`]=u+s,a[`cp2${i}`]=d+s*e[c])}}(n,s,e)}(n,r);else{let c=i?n[n.length-1]:n[0];for(s=0,o=n.length;s<o;++s)a=n[s],l=TB(c,a,n[Math.min(s+1,o-(i?0:1))%o],e.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}e.capBezierPoints&&function(n,e){let t,i,r,s,o,a=cr(n[0],e);for(t=0,i=n.length;t<i;++t)o=s,s=a,a=t<i-1&&cr(n[t+1],e),s&&(r=n[t],o&&(r.cp1x=kc(r.cp1x,e.left,e.right),r.cp1y=kc(r.cp1y,e.top,e.bottom)),a&&(r.cp2x=kc(r.cp2x,e.left,e.right),r.cp2y=kc(r.cp2y,e.top,e.bottom)))}(n,t)}function Lw(){return"undefined"!=typeof window&&"undefined"!=typeof document}function vp(n){let e=n.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function Rc(n,e,t){let i;return"string"==typeof n?(i=parseInt(n,10),-1!==n.indexOf("%")&&(i=i/100*e.parentNode[t])):i=n,i}const Fc=n=>window.getComputedStyle(n,null),LB=["top","right","bottom","left"];function dr(n,e,t){const i={};t=t?"-"+t:"";for(let r=0;r<4;r++){const s=LB[r];i[s]=parseFloat(n[e+"-"+s+t])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}function Vw(n,e){const{canvas:t,currentDevicePixelRatio:i}=e,r=Fc(t),s="border-box"===r.boxSizing,o=dr(r,"padding"),a=dr(r,"border","width"),{x:l,y:c,box:u}=function(n,e){const t=n.native||n,i=t.touches,r=i&&i.length?i[0]:t,{offsetX:s,offsetY:o}=r;let l,c,a=!1;if(((n,e,t)=>(n>0||e>0)&&(!t||!t.shadowRoot))(s,o,t.target))l=s,c=o;else{const u=e.getBoundingClientRect();l=r.clientX-u.left,c=r.clientY-u.top,a=!0}return{x:l,y:c,box:a}}(n,t),d=o.left+(u&&a.left),h=o.top+(u&&a.top);let{width:f,height:p}=e;return s&&(f-=o.width+a.width,p-=o.height+a.height),{x:Math.round((l-d)/f*t.width/i),y:Math.round((c-h)/p*t.height/i)}}const bp=n=>Math.round(10*n)/10;function Bw(n,e,t){const i=e||1,r=Math.floor(n.height*i),s=Math.floor(n.width*i);n.height=r/i,n.width=s/i;const o=n.canvas;return o.style&&(t||!o.style.height&&!o.style.width)&&(o.style.height=`${n.height}px`,o.style.width=`${n.width}px`),(n.currentDevicePixelRatio!==i||o.height!==r||o.width!==s)&&(n.currentDevicePixelRatio=i,o.height=r,o.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0)}const UB=function(){let n=!1;try{const e={get passive(){return n=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return n}();function jw(n,e){const t=function(n,e){return Fc(n).getPropertyValue(e)}(n,e),i=t&&t.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function hr(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:n.y+t*(e.y-n.y)}}function $B(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:"middle"===i?t<.5?n.y:e.y:"after"===i?t<1?n.y:e.y:t>0?e.y:n.y}}function zB(n,e,t,i){const r={x:n.cp2x,y:n.cp2y},s={x:e.cp1x,y:e.cp1y},o=hr(n,r,t),a=hr(r,s,t),l=hr(s,e,t),c=hr(o,a,t),u=hr(a,l,t);return hr(c,u,t)}const Hw=new Map;function oa(n,e,t){return function(n,e){e=e||{};const t=n+JSON.stringify(e);let i=Hw.get(t);return i||(i=new Intl.NumberFormat(n,e),Hw.set(t,i)),i}(e,t).format(n)}function Ss(n,e,t){return n?function(n,e){return{x:t=>n+n+e-t,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,i)=>t-i,leftForLtr:(t,i)=>t-i}}(e,t):{x:n=>n,setWidth(n){},textAlign:n=>n,xPlus:(n,e)=>n+e,leftForLtr:(n,e)=>n}}function Uw(n,e){let t,i;("ltr"===e||"rtl"===e)&&(t=n.canvas.style,i=[t.getPropertyValue("direction"),t.getPropertyPriority("direction")],t.setProperty("direction",e,"important"),n.prevTextDirection=i)}function $w(n,e){void 0!==e&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",e[0],e[1]))}function zw(n){return"angle"===n?{between:Qo,compare:V2,normalize:Kt}:{between:fi,compare:(e,t)=>e-t,normalize:e=>e}}function Ww({start:n,end:e,count:t,loop:i,style:r}){return{start:n%t,end:e%t,loop:i&&(e-n+1)%t==0,style:r}}function Gw(n,e,t){if(!t)return[n];const{property:i,start:r,end:s}=t,o=e.length,{compare:a,between:l,normalize:c}=zw(i),{start:u,end:d,loop:h,style:f}=function(n,e,t){const{property:i,start:r,end:s}=t,{between:o,normalize:a}=zw(i),l=e.length;let h,f,{start:c,end:u,loop:d}=n;if(d){for(c+=l,u+=l,h=0,f=l;h<f&&o(a(e[c%l][i]),r,s);++h)c--,u--;c%=l,u%=l}return u<c&&(u+=l),{start:c,end:u,loop:d,style:n.style}}(n,e,t),p=[];let v,b,D,g=!1,_=null;for(let O=u,k=u;O<=d;++O)b=e[O%o],!b.skip&&(v=c(b[i]),v!==D&&(g=l(v,r,s),null===_&&(g||l(r,D,v)&&0!==a(r,D))&&(_=0===a(v,r)?O:k),null!==_&&(!g||0===a(s,v)||l(s,D,v))&&(p.push(Ww({start:_,end:O,loop:h,count:o,style:f})),_=null),k=O,D=v));return null!==_&&p.push(Ww({start:_,end:d,loop:h,count:o,style:f})),p}function qw(n,e){const t=[],i=n.segments;for(let r=0;r<i.length;r++){const s=Gw(i[r],n.points,e);s.length&&t.push(...s)}return t}function Kw(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function QB(n,e){return e&&JSON.stringify(n)!==JSON.stringify(e)}var gi=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,r){const o=t.duration;t.listeners[r].forEach(a=>a({chart:e,initial:t.initial,numSteps:o,currentStep:Math.min(i-t.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=nw.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let l,o=s.length-1,a=!1;for(;o>=0;--o)l=s[o],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(e),a=!0):(s[o]=s[s.length-1],s.pop());a&&(r.draw(),this._notify(r,i,e,"progress")),s.length||(i.running=!1,this._notify(r,i,e,"complete"),i.initial=!1),t+=s.length}),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);!t||(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}};const Jw="transparent",tj={boolean:(n,e,t)=>t>.5?e:n,color(n,e,t){const i=xw(n||Jw),r=i.valid&&xw(e||Jw);return r&&r.valid?r.mix(i,t).hexString():e},number:(n,e,t)=>n+(e-n)*t};class nj{constructor(e,t,i,r){const s=t[i];r=sa([e.to,r,s,e.from]);const o=sa([e.from,s,r]);this._active=!0,this._fn=e.fn||tj[e.type||typeof o],this._easing=ea[e.easing]||ea.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=s,this._loop=!!e.loop,this._to=sa([e.to,t,r,e.from]),this._from=sa([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,a=this._to;let l;if(this._active=s!==a&&(o||t<i),!this._active)return this._target[r]=a,void this._notify(!0);t<0?this._target[r]=s:(l=t/i%2,l=o&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[r]=this._fn(s,a,l))}wait(){const e=this._promises||(this._promises=[]);return new Promise((t,i)=>{e.push({res:t,rej:i})})}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][t]()}}ae.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const sj=Object.keys(ae.animation);ae.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>"onProgress"!==n&&"onComplete"!==n&&"fn"!==n}),ae.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),ae.describe("animations",{_fallback:"animation"}),ae.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>0|n}}}});class Zw{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!oe(e))return;const t=this._properties;Object.getOwnPropertyNames(e).forEach(i=>{const r=e[i];if(!oe(r))return;const s={};for(const o of sj)s[o]=r[o];(we(r.properties)&&r.properties||[i]).forEach(o=>{(o===i||!t.has(o))&&t.set(o,s)})})}_animateOptions(e,t){const i=t.options,r=function(n,e){if(!e)return;let t=n.options;if(t)return t.$shared&&(n.options=t=Object.assign({},t,{$shared:!1,$animations:{}})),t;n.options=e}(e,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&function(n,e){const t=[],i=Object.keys(e);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&t.push(s.wait())}return Promise.all(t)}(e.options.$animations,i).then(()=>{e.options=i},()=>{}),s}_createAnimations(e,t){const i=this._properties,r=[],s=e.$animations||(e.$animations={}),o=Object.keys(t),a=Date.now();let l;for(l=o.length-1;l>=0;--l){const c=o[l];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(e,t));continue}const u=t[c];let d=s[c];const h=i.get(c);if(d){if(h&&d.active()){d.update(h,u,a);continue}d.cancel()}h&&h.duration?(s[c]=d=new nj(h,e,c,u),r.push(d)):e[c]=u}return r}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const i=this._createAnimations(e,t);return i.length?(gi.add(this._chart,i),!0):void 0}}function Xw(n,e){const t=n&&n.options||{},i=t.reverse,r=void 0===t.min?e:0,s=void 0===t.max?e:0;return{start:i?s:r,end:i?r:s}}function Qw(n,e){const t=[],i=n._getSortedDatasetMetas(e);let r,s;for(r=0,s=i.length;r<s;++r)t.push(i[r].index);return t}function ex(n,e,t,i={}){const r=n.keys,s="single"===i.mode;let o,a,l,c;if(null!==e){for(o=0,a=r.length;o<a;++o){if(l=+r[o],l===t){if(i.all)continue;break}c=n.values[l],Be(c)&&(s||0===e||Yn(e)===Yn(c))&&(e+=c)}return e}}function tx(n,e){const t=n&&n.options.stacked;return t||void 0===t&&void 0!==e.stack}function fj(n,e,t){const i=n[e]||(n[e]={});return i[t]||(i[t]={})}function nx(n,e,t,i){for(const r of e.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(t&&s>0||!t&&s<0)return r.index}return null}function ix(n,e){const{chart:t,_cachedMeta:i}=n,r=t._stacks||(t._stacks={}),{iScale:s,vScale:o,index:a}=i,l=s.axis,c=o.axis,u=function(n,e,t){return`${n.id}.${e.id}.${t.stack||t.type}`}(s,o,i),d=e.length;let h;for(let f=0;f<d;++f){const p=e[f],{[l]:g,[c]:_}=p;h=(p._stacks||(p._stacks={}))[c]=fj(r,u,g),h[a]=_,h._top=nx(h,o,!0,i.type),h._bottom=nx(h,o,!1,i.type)}}function Cp(n,e){const t=n.scales;return Object.keys(t).filter(i=>t[i].axis===e).shift()}function aa(n,e){const t=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){e=e||n._parsed;for(const r of e){const s=r._stacks;if(!s||void 0===s[i]||void 0===s[i][t])return;delete s[i][t]}}}const Dp=n=>"reset"===n||"none"===n,rx=(n,e)=>e?n:Object.assign({},n);let mi=(()=>{class n{constructor(t,i){this.chart=t,this._ctx=t.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=tx(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&aa(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,i=this._cachedMeta,r=this.getDataset(),s=(h,f,p,g)=>"x"===h?f:"r"===h?g:p,o=i.xAxisID=K(r.xAxisID,Cp(t,"x")),a=i.yAxisID=K(r.yAxisID,Cp(t,"y")),l=i.rAxisID=K(r.rAxisID,Cp(t,"r")),c=i.indexAxis,u=i.iAxisID=s(c,o,a,l),d=i.vAxisID=s(c,a,o,l);i.xScale=this.getScaleForId(o),i.yScale=this.getScaleForId(a),i.rScale=this.getScaleForId(l),i.iScale=this.getScaleForId(u),i.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const i=this._cachedMeta;return t===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Aw(this._data,this),t._stacked&&aa(t)}_dataCheck(){const t=this.getDataset(),i=t.data||(t.data=[]),r=this._data;if(oe(i))this._data=function(n){const e=Object.keys(n),t=new Array(e.length);let i,r,s;for(i=0,r=e.length;i<r;++i)s=e[i],t[i]={x:s,y:n[s]};return t}(i);else if(r!==i){if(r){Aw(r,this);const s=this._cachedMeta;aa(s),s._parsed=[]}i&&Object.isExtensible(i)&&function(n,e){n._chartjs?n._chartjs.listeners.push(e):(Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),Sw.forEach(t=>{const i="_onData"+ip(t),r=n[t];Object.defineProperty(n,t,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return n._chartjs.listeners.forEach(a=>{"function"==typeof a[i]&&a[i](...s)}),o}})}))}(i,this),this._syncList=[],this._data=i}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const i=this._cachedMeta,r=this.getDataset();let s=!1;this._dataCheck();const o=i._stacked;i._stacked=tx(i.vScale,i),i.stack!==r.stack&&(s=!0,aa(i),i.stack=r.stack),this._resyncElements(t),(s||o!==i._stacked)&&ix(this,i._parsed)}configure(){const t=this.chart.config,i=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),i,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,i){const{_cachedMeta:r,_data:s}=this,{iScale:o,_stacked:a}=r,l=o.axis;let d,h,f,c=0===t&&i===s.length||r._sorted,u=t>0&&r._parsed[t-1];if(!1===this._parsing)r._parsed=s,r._sorted=!0,f=s;else{f=we(s[t])?this.parseArrayData(r,s,t,i):oe(s[t])?this.parseObjectData(r,s,t,i):this.parsePrimitiveData(r,s,t,i);const p=()=>null===h[l]||u&&h[l]<u[l];for(d=0;d<i;++d)r._parsed[d+t]=h=f[d],c&&(p()&&(c=!1),u=h);r._sorted=c}a&&ix(this,f)}parsePrimitiveData(t,i,r,s){const{iScale:o,vScale:a}=t,l=o.axis,c=a.axis,u=o.getLabels(),d=o===a,h=new Array(s);let f,p,g;for(f=0,p=s;f<p;++f)g=f+r,h[f]={[l]:d||o.parse(u[g],g),[c]:a.parse(i[g],g)};return h}parseArrayData(t,i,r,s){const{xScale:o,yScale:a}=t,l=new Array(s);let c,u,d,h;for(c=0,u=s;c<u;++c)d=c+r,h=i[d],l[c]={x:o.parse(h[0],d),y:a.parse(h[1],d)};return l}parseObjectData(t,i,r,s){const{xScale:o,yScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u=new Array(s);let d,h,f,p;for(d=0,h=s;d<h;++d)f=d+r,p=i[f],u[d]={x:o.parse(or(p,l),f),y:a.parse(or(p,c),f)};return u}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,i,r){const o=this._cachedMeta,a=i[t.axis];return ex({keys:Qw(this.chart,!0),values:i._stacks[t.axis]},a,o.index,{mode:r})}updateRangeFromParsed(t,i,r,s){const o=r[i.axis];let a=null===o?NaN:o;const l=s&&r._stacks[i.axis];s&&l&&(s.values=l,a=ex(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,i){const r=this._cachedMeta,s=r._parsed,o=r._sorted&&t===r.iScale,a=s.length,l=this._getOtherScale(t),c=((n,e,t)=>n&&!e.hidden&&e._stacked&&{keys:Qw(this.chart,!0),values:null})(i,r),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:h}=function(n){const{min:e,max:t,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?e:Number.NEGATIVE_INFINITY,max:r?t:Number.POSITIVE_INFINITY}}(l);let f,p;function g(){p=s[f];const _=p[l.axis];return!Be(p[t.axis])||d>_||h<_}for(f=0;f<a&&(g()||(this.updateRangeFromParsed(u,t,p,c),!o));++f);if(o)for(f=a-1;f>=0;--f)if(!g()){this.updateRangeFromParsed(u,t,p,c);break}return u}getAllParsedValues(t){const i=this._cachedMeta._parsed,r=[];let s,o,a;for(s=0,o=i.length;s<o;++s)a=i[s][t.axis],Be(a)&&r.push(a);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const i=this._cachedMeta,r=i.iScale,s=i.vScale,o=this.getParsed(t);return{label:r?""+r.getLabelForValue(o[r.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const i=this._cachedMeta;this.update(t||"default"),i._clip=function(n){let e,t,i,r;return oe(n)?(e=n.top,t=n.right,i=n.bottom,r=n.left):e=t=i=r=n,{top:e,right:t,bottom:i,left:r,disabled:!1===n}}(K(this.options.clip,function(n,e,t){if(!1===t)return!1;const i=Xw(n,t),r=Xw(e,t);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}(i.xScale,i.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,r=this._cachedMeta,s=r.data||[],o=this.chart.chartArea,a=[],l=this._drawStart||0,c=this._drawCount||s.length-l,u=this.options.drawActiveElementsOnTop;let d;for(r.dataset&&r.dataset.draw(t,o,l,c),d=l;d<l+c;++d){const h=s[d];h.hidden||(h.active&&u?a.push(h):h.draw(t,o))}for(d=0;d<a.length;++d)a[d].draw(t,o)}getStyle(t,i){const r=i?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,i,r){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];o=a.$context||(a.$context=function(n,e,t){return Li(n,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:t,index:e,mode:"default",type:"data"})}(this.getContext(),t,a)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=function(n,e){return Li(n,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!i,o.mode=r,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,i){return this._resolveElementOptions(this.dataElementType.id,i,t)}_resolveElementOptions(t,i="default",r){const s="active"===i,o=this._cachedDataOpts,a=t+"-"+i,l=o[a],c=this.enableOptionSharing&&un(r);if(l)return rx(l,c);const u=this.chart.config,d=u.datasetElementScopeKeys(this._type,t),h=s?[`${t}Hover`,"hover",t,""]:[t,""],f=u.getOptionScopes(this.getDataset(),d),p=Object.keys(ae.elements[t]),_=u.resolveNamedOptions(f,p,()=>this.getContext(r,s),h);return _.$shared&&(_.$shared=c,o[a]=Object.freeze(rx(_,c))),_}_resolveAnimations(t,i,r){const s=this.chart,o=this._cachedDataOpts,a=`animation-${i}`,l=o[a];if(l)return l;let c;if(!1!==s.options.animation){const d=this.chart.config,h=d.datasetAnimationScopeKeys(this._type,i),f=d.getOptionScopes(this.getDataset(),h);c=d.createResolver(f,this.getContext(t,r,i))}const u=new Zw(s,c&&c.animations);return c&&c._cacheable&&(o[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,i){return!i||Dp(t)||this.chart._animationsDisabled}updateElement(t,i,r,s){Dp(s)?Object.assign(t,r):this._resolveAnimations(i,s).update(t,r)}updateSharedOptions(t,i,r){t&&!Dp(i)&&this._resolveAnimations(void 0,i).update(t,r)}_setStyle(t,i,r,s){t.active=s;const o=this.getStyle(i,s);this._resolveAnimations(i,r,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,i,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,i,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const i=this._data,r=this._cachedMeta.data;for(const[l,c,u]of this._syncList)this[l](c,u);this._syncList=[];const s=r.length,o=i.length,a=Math.min(o,s);a&&this.parse(0,a),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,i,r=!0){const s=this._cachedMeta,o=s.data,a=t+i;let l;const c=u=>{for(u.length+=i,l=u.length-1;l>=a;l--)u[l]=u[l-i]};for(c(o),l=t;l<a;++l)o[l]=new this.dataElementType;this._parsing&&c(s._parsed),this.parse(t,i),r&&this.updateElements(o,t,i,"reset")}updateElements(t,i,r,s){}_removeElements(t,i){const r=this._cachedMeta;if(this._parsing){const s=r._parsed.splice(t,i);r._stacked&&aa(r,s)}r.data.splice(t,i)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[i,r,s]=t;this[i](r,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,i){i&&this._sync(["_removeElements",t,i]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}return n.defaults={},n})();function _j(n){const e=n.iScale,t=function(n,e){if(!n._cache.$bar){const t=n.getMatchingVisibleMetas(e);let i=[];for(let r=0,s=t.length;r<s;r++)i=i.concat(t[r].controller.getAllParsedValues(n));n._cache.$bar=Iw(i.sort((r,s)=>r-s))}return n._cache.$bar}(e,n.type);let r,s,o,a,i=e._length;const l=()=>{32767===o||-32768===o||(un(a)&&(i=Math.min(i,Math.abs(o-a)||i)),a=o)};for(r=0,s=t.length;r<s;++r)o=e.getPixelForValue(t[r]),l();for(a=void 0,r=0,s=e.ticks.length;r<s;++r)o=e.getPixelForTick(r),l();return i}function sx(n,e,t,i){return we(n)?function(n,e,t,i){const r=t.parse(n[0],i),s=t.parse(n[1],i),o=Math.min(r,s),a=Math.max(r,s);let l=o,c=a;Math.abs(o)>Math.abs(a)&&(l=a,c=o),e[t.axis]=c,e._custom={barStart:l,barEnd:c,start:r,end:s,min:o,max:a}}(n,e,t,i):e[t.axis]=t.parse(n,i),e}function ox(n,e,t,i){const r=n.iScale,s=n.vScale,o=r.getLabels(),a=r===s,l=[];let c,u,d,h;for(c=t,u=t+i;c<u;++c)h=e[c],d={},d[r.axis]=a||r.parse(o[c],c),l.push(sx(h,d,s,c));return l}function wp(n){return n&&void 0!==n.barStart&&void 0!==n.barEnd}function xj(n,e,t,i){let r=e.borderSkipped;const s={};if(!r)return void(n.borderSkipped=s);const{start:o,end:a,reverse:l,top:c,bottom:u}=function(n){let e,t,i,r,s;return n.horizontal?(e=n.base>n.x,t="left",i="right"):(e=n.base<n.y,t="bottom",i="top"),e?(r="end",s="start"):(r="start",s="end"),{start:t,end:i,reverse:e,top:r,bottom:s}}(n);"middle"===r&&t&&(n.enableBorderRadius=!0,(t._top||0)===i?r=c:(t._bottom||0)===i?r=u:(s[ax(u,o,a,l)]=!0,r=c)),s[ax(r,o,a,l)]=!0,n.borderSkipped=s}function ax(n,e,t,i){return i?(n=function(n,e,t){return n===e?t:n===t?e:n}(n,e,t),n=lx(n,t,e)):n=lx(n,e,t),n}function lx(n,e,t){return"start"===n?e:"end"===n?t:n}function Mj(n,{inflateAmount:e},t){n.inflateAmount="auto"===e?1===t?.33:0:e}mi.prototype.datasetElementType=null,mi.prototype.dataElementType=null;let Sj=(()=>{class n extends mi{parsePrimitiveData(t,i,r,s){return ox(t,i,r,s)}parseArrayData(t,i,r,s){return ox(t,i,r,s)}parseObjectData(t,i,r,s){const{iScale:o,vScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u="x"===o.axis?l:c,d="x"===a.axis?l:c,h=[];let f,p,g,_;for(f=r,p=r+s;f<p;++f)_=i[f],g={},g[o.axis]=o.parse(or(_,u),f),h.push(sx(or(_,d),g,a,f));return h}updateRangeFromParsed(t,i,r,s){super.updateRangeFromParsed(t,i,r,s);const o=r._custom;o&&i===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const i=this._cachedMeta,{iScale:r,vScale:s}=i,o=this.getParsed(t),a=o._custom,l=wp(a)?"["+a.start+", "+a.end+"]":""+s.getLabelForValue(o[s.axis]);return{label:""+r.getLabelForValue(o[r.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(t){const i=this._cachedMeta;this.updateElements(i.data,0,i.data.length,t)}updateElements(t,i,r,s){const o="reset"===s,{index:a,_cachedMeta:{vScale:l}}=this,c=l.getBasePixel(),u=l.isHorizontal(),d=this._getRuler(),h=this.resolveDataElementOptions(i,s),f=this.getSharedOptions(h),p=this.includeOptions(s,f);this.updateSharedOptions(f,s,h);for(let g=i;g<i+r;g++){const _=this.getParsed(g),v=o||de(_[l.axis])?{base:c,head:c}:this._calculateBarValuePixels(g),b=this._calculateBarIndexPixels(g,d),D=(_._stacks||{})[l.axis],C={horizontal:u,base:v.base,enableBorderRadius:!D||wp(_._custom)||a===D._top||a===D._bottom,x:u?v.head:b.center,y:u?b.center:v.head,height:u?b.size:Math.abs(v.size),width:u?Math.abs(v.size):b.size};p&&(C.options=f||this.resolveDataElementOptions(g,t[g].active?"active":s));const w=C.options||t[g].options;xj(C,w,D,a),Mj(C,w,d.ratio),this.updateElement(t[g],g,C,s)}}_getStacks(t,i){const s=this._cachedMeta.iScale,o=s.getMatchingVisibleMetas(this._type),a=s.options.stacked,l=o.length,c=[];let u,d;for(u=0;u<l;++u)if(d=o[u],d.controller.options.grouped){if(void 0!==i){const h=d.controller.getParsed(i)[d.controller._cachedMeta.vScale.axis];if(de(h)||isNaN(h))continue}if((!1===a||-1===c.indexOf(d.stack)||void 0===a&&void 0===d.stack)&&c.push(d.stack),d.index===t)break}return c.length||c.push(void 0),c}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,i,r){const s=this._getStacks(t,r),o=void 0!==i?s.indexOf(i):-1;return-1===o?s.length-1:o}_getRuler(){const t=this.options,i=this._cachedMeta,r=i.iScale,s=[];let o,a;for(o=0,a=i.data.length;o<a;++o)s.push(r.getPixelForValue(this.getParsed(o)[r.axis],o));const l=t.barThickness;return{min:l||_j(i),pixels:s,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:i,_stacked:r},options:{base:s,minBarLength:o}}=this,a=s||0,l=this.getParsed(t),c=l._custom,u=wp(c);let p,g,d=l[i.axis],h=0,f=r?this.applyStack(i,l,r):d;f!==d&&(h=f-d,f=d),u&&(d=c.barStart,f=c.barEnd-c.barStart,0!==d&&Yn(d)!==Yn(c.barEnd)&&(h=0),h+=d);const _=de(s)||u?h:s;let v=i.getPixelForValue(_);if(p=this.chart.getDataVisibility(t)?i.getPixelForValue(h+f):v,g=p-v,Math.abs(g)<o&&(g=function(n,e,t){return 0!==n?Yn(n):(e.isHorizontal()?1:-1)*(e.min>=t?1:-1)}(g,i,a)*o,d===a&&(v-=g/2),p=v+g),v===i.getPixelForValue(a)){const b=Yn(g)*i.getLineWidthForValue(a)/2;v+=b,g-=b}return{size:g,base:v,head:p,center:p+g/2}}_calculateBarIndexPixels(t,i){const r=i.scale,s=this.options,o=s.skipNull,a=K(s.maxBarThickness,1/0);let l,c;if(i.grouped){const u=o?this._getStackCount(t):i.stackCount,d="flex"===s.barThickness?function(n,e,t,i){const r=e.pixels,s=r[n];let o=n>0?r[n-1]:null,a=n<r.length-1?r[n+1]:null;const l=t.categoryPercentage;null===o&&(o=s-(null===a?e.end-e.start:a-s)),null===a&&(a=s+s-o);const c=s-(s-Math.min(o,a))/2*l;return{chunk:Math.abs(a-o)/2*l/i,ratio:t.barPercentage,start:c}}(t,i,s,u):function(n,e,t,i){const r=t.barThickness;let s,o;return de(r)?(s=e.min*t.categoryPercentage,o=t.barPercentage):(s=r*i,o=1),{chunk:s/i,ratio:o,start:e.pixels[n]-s/2}}(t,i,s,u),h=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);l=d.start+d.chunk*h+d.chunk/2,c=Math.min(a,d.chunk*d.ratio)}else l=r.getPixelForValue(this.getParsed(t)[r.axis],t),c=Math.min(a,i.min*i.ratio);return{base:l-c/2,head:l+c/2,center:l,size:c}}draw(){const t=this._cachedMeta,i=t.vScale,r=t.data,s=r.length;let o=0;for(;o<s;++o)null!==this.getParsed(o)[i.axis]&&r[o].draw(this._ctx)}}return n.id="bar",n.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},n.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}},n})(),Aj=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,i,r,s){const o=super.parsePrimitiveData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=this.resolveDataElementOptions(a+r).radius;return o}parseArrayData(t,i,r,s){const o=super.parseArrayData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=K(i[r+a][2],this.resolveDataElementOptions(a+r).radius);return o}parseObjectData(t,i,r,s){const o=super.parseObjectData(t,i,r,s);for(let a=0;a<o.length;a++){const l=i[r+a];o[a]._custom=K(l&&l.r&&+l.r,this.resolveDataElementOptions(a+r).radius)}return o}getMaxOverflow(){const t=this._cachedMeta.data;let i=0;for(let r=t.length-1;r>=0;--r)i=Math.max(i,t[r].size(this.resolveDataElementOptions(r))/2);return i>0&&i}getLabelAndValue(t){const i=this._cachedMeta,{xScale:r,yScale:s}=i,o=this.getParsed(t),a=r.getLabelForValue(o.x),l=s.getLabelForValue(o.y),c=o._custom;return{label:i.label,value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const i=this._cachedMeta.data;this.updateElements(i,0,i.length,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l}=this._cachedMeta,c=this.resolveDataElementOptions(i,s),u=this.getSharedOptions(c),d=this.includeOptions(s,u),h=a.axis,f=l.axis;for(let p=i;p<i+r;p++){const g=t[p],_=!o&&this.getParsed(p),v={},b=v[h]=o?a.getPixelForDecimal(.5):a.getPixelForValue(_[h]),D=v[f]=o?l.getBasePixel():l.getPixelForValue(_[f]);v.skip=isNaN(b)||isNaN(D),d&&(v.options=this.resolveDataElementOptions(p,g.active?"active":s),o&&(v.options.radius=0)),this.updateElement(g,p,v,s)}this.updateSharedOptions(u,s,c)}resolveDataElementOptions(t,i){const r=this.getParsed(t);let s=super.resolveDataElementOptions(t,i);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const o=s.radius;return"active"!==i&&(s.radius=0),s.radius+=K(r&&r._custom,o),s}}return n.id="bubble",n.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},n.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}},n})(),cx=(()=>{class n extends mi{constructor(t,i){super(t,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,i){const r=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=r;else{let a,l,o=c=>+r[c];if(oe(r[t])){const{key:c="value"}=this._parsing;o=u=>+or(r[u],c)}for(a=t,l=t+i;a<l;++a)s._parsed[a]=o(a)}}_getRotation(){return An(this.options.rotation-90)}_getCircumference(){return An(this.options.circumference)}_getRotationExtents(){let t=_e,i=-_e;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)){const s=this.chart.getDatasetMeta(r).controller,o=s._getRotation(),a=s._getCircumference();t=Math.min(t,o),i=Math.max(i,o+a)}return{rotation:t,circumference:i-t}}update(t){const i=this.chart,{chartArea:r}=i,s=this._cachedMeta,o=s.data,a=this.getMaxBorderWidth()+this.getMaxOffset(o)+this.options.spacing,l=Math.max((Math.min(r.width,r.height)-a)/2,0),c=Math.min(((n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100:n/e)(this.options.cutout,l),1),u=this._getRingWeight(this.index),{circumference:d,rotation:h}=this._getRotationExtents(),{ratioX:f,ratioY:p,offsetX:g,offsetY:_}=function(n,e,t){let i=1,r=1,s=0,o=0;if(e<_e){const a=n,l=a+e,c=Math.cos(a),u=Math.sin(a),d=Math.cos(l),h=Math.sin(l),f=(D,C,w)=>Qo(D,a,l,!0)?1:Math.max(C,C*t,w,w*t),p=(D,C,w)=>Qo(D,a,l,!0)?-1:Math.min(C,C*t,w,w*t),g=f(0,c,d),_=f(Fe,u,h),v=p(Ae,c,d),b=p(Ae+Fe,u,h);i=(g-v)/2,r=(_-b)/2,s=-(g+v)/2,o=-(_+b)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:o}}(h,d,c),D=Math.max(Math.min((r.width-a)/f,(r.height-a)/p)/2,0),C=rw(this.options.radius,D),M=(C-Math.max(C*c,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*C,this.offsetY=_*C,s.total=this.calculateTotal(),this.outerRadius=C-M*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-M*u,0),this.updateElements(o,0,o.length,t)}_circumference(t,i){const r=this.options,s=this._cachedMeta,o=this._getCircumference();return i&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*o/_e)}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=a.chartArea,d=(l.left+l.right)/2,h=(l.top+l.bottom)/2,f=o&&a.options.animation.animateScale,p=f?0:this.innerRadius,g=f?0:this.outerRadius,_=this.resolveDataElementOptions(i,s),v=this.getSharedOptions(_),b=this.includeOptions(s,v);let C,D=this._getRotation();for(C=0;C<i;++C)D+=this._circumference(C,o);for(C=i;C<i+r;++C){const w=this._circumference(C,o),M=t[C],A={x:d+this.offsetX,y:h+this.offsetY,startAngle:D,endAngle:D+w,circumference:w,outerRadius:g,innerRadius:p};b&&(A.options=v||this.resolveDataElementOptions(C,M.active?"active":s)),D+=w,this.updateElement(M,C,A,s)}this.updateSharedOptions(v,s,_)}calculateTotal(){const t=this._cachedMeta,i=t.data;let s,r=0;for(s=0;s<i.length;s++){const o=t._parsed[s];null!==o&&!isNaN(o)&&this.chart.getDataVisibility(s)&&!i[s].hidden&&(r+=Math.abs(o))}return r}calculateCircumference(t){const i=this._cachedMeta.total;return i>0&&!isNaN(t)?_e*(Math.abs(t)/i):0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t],r.options.locale);return{label:s[t]||"",value:o}}getMaxBorderWidth(t){let i=0;const r=this.chart;let s,o,a,l,c;if(!t)for(s=0,o=r.data.datasets.length;s<o;++s)if(r.isDatasetVisible(s)){a=r.getDatasetMeta(s),t=a.data,l=a.controller;break}if(!t)return 0;for(s=0,o=t.length;s<o;++s)c=l.resolveDataElementOptions(s),"inner"!==c.borderAlign&&(i=Math.max(i,c.borderWidth||0,c.hoverBorderWidth||0));return i}getMaxOffset(t){let i=0;for(let r=0,s=t.length;r<s;++r){const o=this.resolveDataElementOptions(r);i=Math.max(i,o.offset||0,o.hoverOffset||0)}return i}_getRingWeightOffset(t){let i=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(i+=this._getRingWeight(r));return i}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}return n.id="doughnut",n.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},n.descriptors={_scriptable:e=>"spacing"!==e,_indexable:e=>"spacing"!==e},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(e){let t=e.label;const i=": "+e.formattedValue;return we(t)?(t=t.slice(),t[0]+=i):t+=i,t}}}}},n})(),ux=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const i=this._cachedMeta,{dataset:r,data:s=[],_dataset:o}=i,a=this.chart._animationsDisabled;let{start:l,count:c}=function(n,e,t){const i=e.length;let r=0,s=i;if(n._sorted){const{iScale:o,_parsed:a}=n,l=o.axis,{min:c,max:u,minDefined:d,maxDefined:h}=o.getUserBounds();d&&(r=ot(Math.min(pi(a,o.axis,c).lo,t?i:pi(e,l,o.getPixelForValue(c)).lo),0,i-1)),s=h?ot(Math.max(pi(a,o.axis,u).hi+1,t?0:pi(e,l,o.getPixelForValue(u)).hi+1),r,i)-r:i-r}return{start:r,count:s}}(i,s,a);this._drawStart=l,this._drawCount=c,function(n){const{xScale:e,yScale:t,_scaleRanges:i}=n,r={xmin:e.min,xmax:e.max,ymin:t.min,ymax:t.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==e.min||i.xmax!==e.max||i.ymin!==t.min||i.ymax!==t.max;return Object.assign(i,r),s}(i)&&(l=0,c=s.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!o._decimated,r.points=s;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(r,void 0,{animated:!a,options:u},t),this.updateElements(s,l,c,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l,_stacked:c,_dataset:u}=this._cachedMeta,d=this.resolveDataElementOptions(i,s),h=this.getSharedOptions(d),f=this.includeOptions(s,h),p=a.axis,g=l.axis,{spanGaps:_,segment:v}=this.options,b=Zo(_)?_:Number.POSITIVE_INFINITY,D=this.chart._animationsDisabled||o||"none"===s;let C=i>0&&this.getParsed(i-1);for(let w=i;w<i+r;++w){const M=t[w],A=this.getParsed(w),O=D?M:{},k=de(A[g]),ue=O[p]=a.getPixelForValue(A[p],w),te=O[g]=o||k?l.getBasePixel():l.getPixelForValue(c?this.applyStack(l,A,c):A[g],w);O.skip=isNaN(ue)||isNaN(te)||k,O.stop=w>0&&A[p]-C[p]>b,v&&(O.parsed=A,O.raw=u.data[w]),f&&(O.options=h||this.resolveDataElementOptions(w,M.active?"active":s)),D||this.updateElement(M,w,O,s),C=A}this.updateSharedOptions(h,s,d)}getMaxOverflow(){const t=this._cachedMeta,i=t.dataset,r=i.options&&i.options.borderWidth||0,s=t.data||[];if(!s.length)return r;const o=s[0].size(this.resolveDataElementOptions(0)),a=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(r,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}return n.id="line",n.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},n.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}},n})();var Pj=Object.freeze({__proto__:null,BarController:Sj,BubbleController:Aj,DoughnutController:cx,LineController:ux,PolarAreaController:(()=>{class n extends mi{constructor(t,i){super(t,i),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t].r,r.options.locale);return{label:s[t]||"",value:o}}update(t){const i=this._cachedMeta.data;this._updateRadius(),this.updateElements(i,0,i.length,t)}_updateRadius(){const t=this.chart,i=t.chartArea,r=t.options,s=Math.min(i.right-i.left,i.bottom-i.top),o=Math.max(s/2,0),l=(o-Math.max(r.cutoutPercentage?o/100*r.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=o-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=this.getDataset(),u=a.options.animation,d=this._cachedMeta.rScale,h=d.xCenter,f=d.yCenter,p=d.getIndexAngle(0)-.5*Ae;let _,g=p;const v=360/this.countVisibleElements();for(_=0;_<i;++_)g+=this._computeAngle(_,s,v);for(_=i;_<i+r;_++){const b=t[_];let D=g,C=g+this._computeAngle(_,s,v),w=a.getDataVisibility(_)?d.getDistanceFromCenterForValue(l.data[_]):0;g=C,o&&(u.animateScale&&(w=0),u.animateRotate&&(D=C=p));const M={x:h,y:f,innerRadius:0,outerRadius:w,startAngle:D,endAngle:C,options:this.resolveDataElementOptions(_,b.active?"active":s)};this.updateElement(b,_,M,s)}}countVisibleElements(){const t=this.getDataset();let r=0;return this._cachedMeta.data.forEach((s,o)=>{!isNaN(t.data[o])&&this.chart.getDataVisibility(o)&&r++}),r}_computeAngle(t,i,r){return this.chart.getDataVisibility(t)?An(this.resolveDataElementOptions(t,i).angle||r):0}}return n.id="polarArea",n.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:e=>e.chart.data.labels[e.dataIndex]+": "+e.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}},n})(),PieController:(()=>{class n extends cx{}return n.id="pie",n.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"},n})(),RadarController:(()=>{class n extends mi{getLabelAndValue(t){const i=this._cachedMeta.vScale,r=this.getParsed(t);return{label:i.getLabels()[t],value:""+i.getLabelForValue(r[i.axis])}}update(t){const i=this._cachedMeta,r=i.dataset,s=i.data||[],o=i.iScale.getLabels();if(r.points=s,"resize"!==t){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0),this.updateElement(r,void 0,{_loop:!0,_fullLoop:o.length===s.length,options:a},t)}this.updateElements(s,0,s.length,t)}updateElements(t,i,r,s){const o=this.getDataset(),a=this._cachedMeta.rScale,l="reset"===s;for(let c=i;c<i+r;c++){const u=t[c],d=this.resolveDataElementOptions(c,u.active?"active":s),h=a.getPointPositionForValue(c,o.data[c]),f=l?a.xCenter:h.x,p=l?a.yCenter:h.y,g={x:f,y:p,angle:h.angle,skip:isNaN(f)||isNaN(p),options:d};this.updateElement(u,c,g,s)}}}return n.id="radar",n.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},n.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}},n})(),ScatterController:(()=>{class n extends ux{}return n.id="scatter",n.defaults={showLine:!1,fill:!1},n.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:e=>"("+e.label+", "+e.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}},n})()});function fr(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var kj={_date:(()=>{class n{constructor(t){this.options=t||{}}formats(){return fr()}parse(t,i){return fr()}format(t,i){return fr()}add(t,i,r){return fr()}diff(t,i,r){return fr()}startOf(t,i,r){return fr()}endOf(t,i){return fr()}}return n.override=function(e){Object.assign(n.prototype,e)},n})()};function la(n,e){return"native"in n?{x:n.x,y:n.y}:Vw(n,e)}function Fj(n,e,t,i){const{controller:r,data:s,_sorted:o}=n,a=r._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&o&&s.length){const l=a._reversePixels?yB:pi;if(!i)return l(s,e,t);if(r._sharedOptions){const c=s[0],u="function"==typeof c.getRange&&c.getRange(e);if(u){const d=l(s,e,t-u),h=l(s,e,t+u);return{lo:d.lo,hi:h.hi}}}}return{lo:0,hi:s.length-1}}function xp(n,e,t,i,r){const s=n.getSortedVisibleDatasetMetas(),o=t[e];for(let a=0,l=s.length;a<l;++a){const{index:c,data:u}=s[a],{lo:d,hi:h}=Fj(s[a],e,o,r);for(let f=d;f<=h;++f){const p=u[f];p.skip||i(p,c,f)}}}function Ep(n,e,t,i){const r=[];return cr(e,n.chartArea,n._minPadding)&&xp(n,t,e,function(o,a,l){o.inRange(e.x,e.y,i)&&r.push({element:o,datasetIndex:a,index:l})},!0),r}function Mp(n,e,t,i,r){return cr(e,n.chartArea,n._minPadding)?"r"!==t||i?function(n,e,t,i,r){let s=[];const o=function(n){const e=-1!==n.indexOf("x"),t=-1!==n.indexOf("y");return function(i,r){const s=e?Math.abs(i.x-r.x):0,o=t?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(o,2))}}(t);let a=Number.POSITIVE_INFINITY;return xp(n,t,e,function(c,u,d){const h=c.inRange(e.x,e.y,r);if(i&&!h)return;const f=c.getCenterPoint(r);if(!cr(f,n.chartArea,n._minPadding)&&!h)return;const g=o(e,f);g<a?(s=[{element:c,datasetIndex:u,index:d}],a=g):g===a&&s.push({element:c,datasetIndex:u,index:d})}),s}(n,e,t,i,r):function(n,e,t,i){let r=[];return xp(n,t,e,function(o,a,l){const{startAngle:c,endAngle:u}=o.getProps(["startAngle","endAngle"],i),{angle:d}=hw(o,{x:e.x,y:e.y});Qo(d,c,u)&&r.push({element:o,datasetIndex:a,index:l})}),r}(n,e,t,r):[]}function dx(n,e,t,i){const r=la(e,n),s=[],o=t.axis,a="x"===o?"inXRange":"inYRange";let l=!1;return function(n,e){const t=n.getSortedVisibleDatasetMetas();let i,r,s;for(let o=0,a=t.length;o<a;++o){({index:i,data:r}=t[o]);for(let l=0,c=r.length;l<c;++l)s=r[l],s.skip||e(s,i,l)}}(n,(c,u,d)=>{c[a](r[o],i)&&s.push({element:c,datasetIndex:u,index:d}),c.inRange(r.x,r.y,i)&&(l=!0)}),t.intersect&&!l?[]:s}var Bj={modes:{index(n,e,t,i){const r=la(e,n),s=t.axis||"x",o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i),a=[];return o.length?(n.getSortedVisibleDatasetMetas().forEach(l=>{const c=o[0].index,u=l.data[c];u&&!u.skip&&a.push({element:u,datasetIndex:l.index,index:c})}),a):[]},dataset(n,e,t,i){const r=la(e,n),s=t.axis||"xy";let o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i);if(o.length>0){const a=o[0].datasetIndex,l=n.getDatasetMeta(a).data;o=[];for(let c=0;c<l.length;++c)o.push({element:l[c],datasetIndex:a,index:c})}return o},point:(n,e,t,i)=>Ep(n,la(e,n),t.axis||"xy",i),nearest:(n,e,t,i)=>Mp(n,la(e,n),t.axis||"xy",t.intersect,i),x:(n,e,t,i)=>dx(n,e,{axis:"x",intersect:t.intersect},i),y:(n,e,t,i)=>dx(n,e,{axis:"y",intersect:t.intersect},i)}};const hx=["left","top","right","bottom"];function ca(n,e){return n.filter(t=>t.pos===e)}function fx(n,e){return n.filter(t=>-1===hx.indexOf(t.pos)&&t.box.axis===e)}function ua(n,e){return n.sort((t,i)=>{const r=e?i:t,s=e?t:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function px(n,e,t,i){return Math.max(n[t],e[t])+Math.max(n[i],e[i])}function gx(n,e){n.top=Math.max(n.top,e.top),n.left=Math.max(n.left,e.left),n.bottom=Math.max(n.bottom,e.bottom),n.right=Math.max(n.right,e.right)}function zj(n,e,t,i){const{pos:r,box:s}=t,o=n.maxPadding;if(!oe(r)){t.size&&(n[r]-=t.size);const d=i[t.stack]||{size:0,count:1};d.size=Math.max(d.size,t.horizontal?s.height:s.width),t.size=d.size/d.count,n[r]+=t.size}s.getPadding&&gx(o,s.getPadding());const a=Math.max(0,e.outerWidth-px(o,n,"left","right")),l=Math.max(0,e.outerHeight-px(o,n,"top","bottom")),c=a!==n.w,u=l!==n.h;return n.w=a,n.h=l,t.horizontal?{same:c,other:u}:{same:u,other:c}}function Gj(n,e){const t=e.maxPadding;return function(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(e[o],t[o])}),s}(n?["left","right"]:["top","bottom"])}function da(n,e,t,i){const r=[];let s,o,a,l,c,u;for(s=0,o=n.length,c=0;s<o;++s){a=n[s],l=a.box,l.update(a.width||e.w,a.height||e.h,Gj(a.horizontal,e));const{same:d,other:h}=zj(e,t,a,i);c|=d&&r.length,u=u||h,l.fullSize||r.push(a)}return c&&da(r,e,t,i)||u}function Nc(n,e,t,i,r){n.top=t,n.left=e,n.right=e+i,n.bottom=t+r,n.width=i,n.height=r}function mx(n,e,t,i){const r=t.padding;let{x:s,y:o}=e;for(const a of n){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const d=e.w*u,h=c.size||l.height;un(c.start)&&(o=c.start),l.fullSize?Nc(l,r.left,o,t.outerWidth-r.right-r.left,h):Nc(l,e.left+c.placed,o,d,h),c.start=o,c.placed+=d,o=l.bottom}else{const d=e.h*u,h=c.size||l.width;un(c.start)&&(s=c.start),l.fullSize?Nc(l,s,r.top,h,t.outerHeight-r.bottom-r.top):Nc(l,s,e.top+c.placed,h,d),c.start=s,c.placed+=d,s=l.right}}e.x=s,e.y=o}ae.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var mt={addBox(n,e){n.boxes||(n.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},n.boxes.push(e)},removeBox(n,e){const t=n.boxes?n.boxes.indexOf(e):-1;-1!==t&&n.boxes.splice(t,1)},configure(n,e,t){e.fullSize=t.fullSize,e.position=t.position,e.weight=t.weight},update(n,e,t,i){if(!n)return;const r=gt(n.options.layout.padding),s=Math.max(e-r.width,0),o=Math.max(t-r.height,0),a=function(n){const e=function(n){const e=[];let t,i,r,s,o,a;for(t=0,i=(n||[]).length;t<i;++t)r=n[t],({position:s,options:{stack:o,stackWeight:a=1}}=r),e.push({index:t,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:o&&s+o,stackWeight:a});return e}(n),t=ua(e.filter(c=>c.box.fullSize),!0),i=ua(ca(e,"left"),!0),r=ua(ca(e,"right")),s=ua(ca(e,"top"),!0),o=ua(ca(e,"bottom")),a=fx(e,"x"),l=fx(e,"y");return{fullSize:t,leftAndTop:i.concat(s),rightAndBottom:r.concat(l).concat(o).concat(a),chartArea:ca(e,"chartArea"),vertical:i.concat(r).concat(l),horizontal:s.concat(o).concat(a)}}(n.boxes),l=a.vertical,c=a.horizontal;pe(n.boxes,g=>{"function"==typeof g.beforeLayout&&g.beforeLayout()});const u=l.reduce((g,_)=>_.box.options&&!1===_.box.options.display?g:g+1,0)||1,d=Object.freeze({outerWidth:e,outerHeight:t,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/u,hBoxMaxHeight:o/2}),h=Object.assign({},r);gx(h,gt(i));const f=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),p=function(n,e){const t=function(n){const e={};for(const t of n){const{stack:i,pos:r,stackWeight:s}=t;if(!i||!hx.includes(r))continue;const o=e[i]||(e[i]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=s}return e}(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=e;let s,o,a;for(s=0,o=n.length;s<o;++s){a=n[s];const{fullSize:l}=a.box,c=t[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*i:l&&e.availableWidth,a.height=r):(a.width=i,a.height=u?u*r:l&&e.availableHeight)}return t}(l.concat(c),d);da(a.fullSize,f,d,p),da(l,f,d,p),da(c,f,d,p)&&da(l,f,d,p),function(n){const e=n.maxPadding;function t(i){const r=Math.max(e[i]-n[i],0);return n[i]+=r,r}n.y+=t("top"),n.x+=t("left"),t("right"),t("bottom")}(f),mx(a.leftAndTop,f,d,p),f.x+=f.w,f.y+=f.h,mx(a.rightAndBottom,f,d,p),n.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},pe(a.chartArea,g=>{const _=g.box;Object.assign(_,n.chartArea),_.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class yx{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,i){}removeEventListener(e,t,i){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,i,r){return t=Math.max(0,t||e.width),i=i||e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):i)}}isAttached(e){return!0}updateConfig(e){}}class qj extends yx{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const Lc="$chartjs",Yj={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},_x=n=>null===n||""===n,vx=!!UB&&{passive:!0};function Zj(n,e,t){n.canvas.removeEventListener(e,t,vx)}function Vc(n,e){for(const t of n)if(t===e||t.contains(e))return!0}function Qj(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.addedNodes,i),o=o&&!Vc(a.removedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}function eH(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.removedNodes,i),o=o&&!Vc(a.addedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}const ha=new Map;let bx=0;function Cx(){const n=window.devicePixelRatio;n!==bx&&(bx=n,ha.forEach((e,t)=>{t.currentDevicePixelRatio!==n&&e()}))}function iH(n,e,t){const i=n.canvas,r=i&&vp(i);if(!r)return;const s=iw((a,l)=>{const c=r.clientWidth;t(a,l),c<r.clientWidth&&t()},window),o=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;0===c&&0===u||s(c,u)});return o.observe(r),function(n,e){ha.size||window.addEventListener("resize",Cx),ha.set(n,e)}(n,s),o}function Sp(n,e,t){t&&t.disconnect(),"resize"===e&&function(n){ha.delete(n),ha.size||window.removeEventListener("resize",Cx)}(n)}function rH(n,e,t){const i=n.canvas,r=iw(s=>{null!==n.ctx&&t(function(n,e){const t=Yj[n.type]||n.type,{x:i,y:r}=Vw(n,e);return{type:t,chart:e,native:n,x:void 0!==i?i:null,y:void 0!==r?r:null}}(s,n))},n,s=>{const o=s[0];return[o,o.offsetX,o.offsetY]});return function(n,e,t){n.addEventListener(e,t,vx)}(i,e,r),r}class sH extends yx{acquireContext(e,t){const i=e&&e.getContext&&e.getContext("2d");return i&&i.canvas===e?(function(n,e){const t=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Lc]={initial:{height:i,width:r,style:{display:t.display,height:t.height,width:t.width}}},t.display=t.display||"block",t.boxSizing=t.boxSizing||"border-box",_x(r)){const s=jw(n,"width");void 0!==s&&(n.width=s)}if(_x(i))if(""===n.style.height)n.height=n.width/(e||2);else{const s=jw(n,"height");void 0!==s&&(n.height=s)}}(e,t),i):null}releaseContext(e){const t=e.canvas;if(!t[Lc])return!1;const i=t[Lc].initial;["height","width"].forEach(s=>{const o=i[s];de(o)?t.removeAttribute(s):t.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{t.style[s]=r[s]}),t.width=t.width,delete t[Lc],!0}addEventListener(e,t,i){this.removeEventListener(e,t),(e.$proxies||(e.$proxies={}))[t]=({attach:Qj,detach:eH,resize:iH}[t]||rH)(e,t,i)}removeEventListener(e,t){const i=e.$proxies||(e.$proxies={}),r=i[t];r&&(({attach:Sp,detach:Sp,resize:Sp}[t]||Zj)(e,t,r),i[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,i,r){return function(n,e,t,i){const r=Fc(n),s=dr(r,"margin"),o=Rc(r.maxWidth,n,"clientWidth")||Cc,a=Rc(r.maxHeight,n,"clientHeight")||Cc,l=function(n,e,t){let i,r;if(void 0===e||void 0===t){const s=vp(n);if(s){const o=s.getBoundingClientRect(),a=Fc(s),l=dr(a,"border","width"),c=dr(a,"padding");e=o.width-c.width-l.width,t=o.height-c.height-l.height,i=Rc(a.maxWidth,s,"clientWidth"),r=Rc(a.maxHeight,s,"clientHeight")}else e=n.clientWidth,t=n.clientHeight}return{width:e,height:t,maxWidth:i||Cc,maxHeight:r||Cc}}(n,e,t);let{width:c,height:u}=l;if("content-box"===r.boxSizing){const d=dr(r,"border","width"),h=dr(r,"padding");c-=h.width+d.width,u-=h.height+d.height}return c=Math.max(0,c-s.width),u=Math.max(0,i?Math.floor(c/i):u-s.height),c=bp(Math.min(c,o,l.maxWidth)),u=bp(Math.min(u,a,l.maxHeight)),c&&!u&&(u=bp(c/2)),{width:c,height:u}}(e,t,i,r)}isAttached(e){const t=vp(e);return!(!t||!t.isConnected)}}class In{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(e){const{x:t,y:i}=this.getProps(["x","y"],e);return{x:t,y:i}}hasValue(){return Zo(this.x)&&Zo(this.y)}getProps(e,t){const i=this.$animations;if(!t||!i)return this;const r={};return e.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}In.defaults={},In.defaultRoutes=void 0;const Dx={values:n=>we(n)?n:""+n,numeric(n,e,t){if(0===n)return"0";const i=this.chart.options.locale;let r,s=n;if(t.length>1){const c=Math.max(Math.abs(t[0].value),Math.abs(t[t.length-1].value));(c<1e-4||c>1e15)&&(r="scientific"),s=function(n,e){let t=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(t)>=1&&n!==Math.floor(n)&&(t=n-Math.floor(n)),t}(n,t)}const o=dn(Math.abs(s)),a=Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:r,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),oa(n,i,l)},logarithmic(n,e,t){if(0===n)return"0";const i=n/Math.pow(10,Math.floor(dn(n)));return 1===i||2===i||5===i?Dx.numeric.call(this,n,e,t):""}};var Bc={formatters:Dx};function jc(n,e,t,i,r){const s=K(i,0),o=Math.min(K(r,n.length),n.length);let l,c,u,a=0;for(t=Math.ceil(t),r&&(l=r-i,t=l/Math.floor(l/t)),u=s;u<0;)a++,u=Math.round(s+a*t);for(c=Math.max(s,0);c<o;c++)c===u&&(e.push(n[c]),a++,u=Math.round(s+a*t))}ae.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(n,e)=>e.lineWidth,tickColor:(n,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Bc.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),ae.route("scale.ticks","color","","color"),ae.route("scale.grid","color","","borderColor"),ae.route("scale.grid","borderColor","","borderColor"),ae.route("scale.title","color","","color"),ae.describe("scale",{_fallback:!1,_scriptable:n=>!n.startsWith("before")&&!n.startsWith("after")&&"callback"!==n&&"parser"!==n,_indexable:n=>"borderDash"!==n&&"tickBorderDash"!==n}),ae.describe("scales",{_fallback:"scale"}),ae.describe("scale.ticks",{_scriptable:n=>"backdropPadding"!==n&&"callback"!==n,_indexable:n=>"backdropPadding"!==n});const wx=(n,e,t)=>"top"===e||"left"===e?n[e]+t:n[e]-t;function xx(n,e){const t=[],i=n.length/e,r=n.length;let s=0;for(;s<r;s+=i)t.push(n[Math.floor(s)]);return t}function gH(n,e,t){const i=n.ticks.length,r=Math.min(e,i-1),s=n._startPixel,o=n._endPixel,a=1e-6;let c,l=n.getPixelForTick(r);if(!(t&&(c=1===i?Math.max(l-s,o-l):0===e?(n.getPixelForTick(1)-l)/2:(l-n.getPixelForTick(r-1))/2,l+=r<e?c:-c,l<s-a||l>o+a)))return l}function fa(n){return n.drawTicks?n.tickLength:0}function Ex(n,e){if(!n.display)return 0;const t=et(n.font,e),i=gt(n.padding);return(we(n.text)?n.text.length:1)*t.lineHeight+i.height}function vH(n,e,t){let i=np(n);return(t&&"right"!==e||!t&&"right"===e)&&(i=(n=>"left"===n?"right":"right"===n?"left":n)(i)),i}class pr extends In{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:i,_suggestedMax:r}=this;return e=cn(e,Number.POSITIVE_INFINITY),t=cn(t,Number.NEGATIVE_INFINITY),i=cn(i,Number.POSITIVE_INFINITY),r=cn(r,Number.NEGATIVE_INFINITY),{min:cn(e,i),max:cn(t,r),minDefined:Be(e),maxDefined:Be(t)}}getMinMax(e){let o,{min:t,max:i,minDefined:r,maxDefined:s}=this.getUserBounds();if(r&&s)return{min:t,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)o=a[l].controller.getMinMax(this,e),r||(t=Math.min(t,o.min)),s||(i=Math.max(i,o.max));return t=s&&t>i?i:t,i=r&&t>i?t:i,{min:cn(t,cn(i,t)),max:cn(i,cn(t,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){xe(this.options.beforeUpdate,[this])}update(e,t,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(n,e,t){const{min:i,max:r}=n,s=rw(e,(r-i)/2),o=(a,l)=>t&&0===a?0:a+l;return{min:o(i,-Math.abs(s)),max:o(r,s)}}(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?xx(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=function(n,e){const t=n.options.ticks,i=t.maxTicksLimit||function(n){const e=n.options.offset,t=n._tickSize();return Math.floor(Math.min(n._length/t+(e?0:1),n._maxLength/t))}(n),r=t.major.enabled?function(n){const e=[];let t,i;for(t=0,i=n.length;t<i;t++)n[t].major&&e.push(t);return e}(e):[],s=r.length,o=r[0],a=r[s-1],l=[];if(s>i)return function(n,e,t,i){let o,r=0,s=t[0];for(i=Math.ceil(i),o=0;o<n.length;o++)o===s&&(e.push(n[o]),r++,s=t[r*i])}(e,l,r,s/i),l;const c=function(n,e,t){const i=function(n){const e=n.length;let t,i;if(e<2)return!1;for(i=n[0],t=1;t<e;++t)if(n[t]-n[t-1]!==i)return!1;return i}(n),r=e.length/t;if(!i)return Math.max(r,1);const s=function(n){const e=[],t=Math.sqrt(n);let i;for(i=1;i<t;i++)n%i==0&&(e.push(i),e.push(n/i));return t===(0|t)&&e.push(t),e.sort((r,s)=>r-s).pop(),e}(i);for(let o=0,a=s.length-1;o<a;o++){const l=s[o];if(l>r)return l}return Math.max(r,1)}(r,e,i);if(s>0){let u,d;const h=s>1?Math.round((a-o)/(s-1)):null;for(jc(e,l,c,de(h)?0:o-h,o),u=0,d=s-1;u<d;u++)jc(e,l,c,r[u],r[u+1]);return jc(e,l,c,a,de(h)?e.length:a+h),l}return jc(e,l,c),l}(this,this.ticks),this._labelSizes=null),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,i,e=this.options.reverse;this.isHorizontal()?(t=this.left,i=this.right):(t=this.top,i=this.bottom,e=!e),this._startPixel=t,this._endPixel=i,this._reversePixels=e,this._length=i-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){xe(this.options.afterUpdate,[this])}beforeSetDimensions(){xe(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){xe(this.options.afterSetDimensions,[this])}_callHooks(e){this.chart.notifyPlugins(e,this.getContext()),xe(this.options[e],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){xe(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(e){const t=this.options.ticks;let i,r,s;for(i=0,r=e.length;i<r;i++)s=e[i],s.label=xe(t.callback,[s.value,i,e],this)}afterTickToLabelConversion(){xe(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){xe(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const e=this.options,t=e.ticks,i=this.ticks.length,r=t.minRotation||0,s=t.maxRotation;let a,l,c,o=r;if(!this._isVisible()||!t.display||r>=s||i<=1||!this.isHorizontal())return void(this.labelRotation=r);const u=this._getLabelSizes(),d=u.widest.width,h=u.highest.height,f=ot(this.chart.width-d,0,this.maxWidth);a=e.offset?this.maxWidth/i:f/(i-1),d+6>a&&(a=f/(i-(e.offset?.5:1)),l=this.maxHeight-fa(e.grid)-t.padding-Ex(e.title,this.chart.options.font),c=Math.sqrt(d*d+h*h),o=rp(Math.min(Math.asin(ot((u.highest.height+6)/a,-1,1)),Math.asin(ot(l/c,-1,1))-Math.asin(ot(h/c,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){xe(this.options.afterCalculateLabelRotation,[this])}beforeFit(){xe(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const l=Ex(r,t.options.font);if(a?(e.width=this.maxWidth,e.height=fa(s)+l):(e.height=this.maxHeight,e.width=fa(s)+l),i.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:h}=this._getLabelSizes(),f=2*i.padding,p=An(this.labelRotation),g=Math.cos(p),_=Math.sin(p);a?e.height=Math.min(this.maxHeight,e.height+(i.mirror?0:_*d.width+g*h.height)+f):e.width=Math.min(this.maxWidth,e.width+(i.mirror?0:g*d.width+_*h.height)+f),this._calculatePadding(c,u,_,g)}}this._handleMargins(),a?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,i,r){const{ticks:{align:s,padding:o},position:a}=this.options,l=0!==this.labelRotation,c="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,f=0;l?c?(h=r*e.width,f=i*t.height):(h=i*e.height,f=r*t.width):"start"===s?f=t.width:"end"===s?h=e.width:(h=e.width/2,f=t.width/2),this.paddingLeft=Math.max((h-u+o)*this.width/(this.width-u),0),this.paddingRight=Math.max((f-d+o)*this.width/(this.width-d),0)}else{let u=t.height/2,d=e.height/2;"start"===s?(u=0,d=e.height):"end"===s&&(u=t.height,d=0),this.paddingTop=u+o,this.paddingBottom=d+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){xe(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,i=e.length;t<i;t++)de(e[t].label)&&(e.splice(t,1),i--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let e=this._labelSizes;if(!e){const t=this.options.ticks.sampleSize;let i=this.ticks;t<i.length&&(i=xx(i,t)),this._labelSizes=e=this._computeLabelSizes(i,i.length)}return e}_computeLabelSizes(e,t){const{ctx:i,_longestTextCache:r}=this,s=[],o=[];let c,u,d,h,f,p,g,_,v,b,D,a=0,l=0;for(c=0;c<t;++c){if(h=e[c].label,f=this._resolveTickFontOptions(c),i.font=p=f.string,g=r[p]=r[p]||{data:{},gc:[]},_=f.lineHeight,v=b=0,de(h)||we(h)){if(we(h))for(u=0,d=h.length;u<d;++u)D=h[u],!de(D)&&!we(D)&&(v=Ac(i,g.data,g.gc,v,D),b+=_)}else v=Ac(i,g.data,g.gc,v,h),b=_;s.push(v),o.push(b),a=Math.max(v,a),l=Math.max(b,l)}!function(n,e){pe(n,t=>{const i=t.gc,r=i.length/2;let s;if(r>e){for(s=0;s<r;++s)delete t.data[i[s]];i.splice(0,r)}})}(r,t);const C=s.indexOf(a),w=o.indexOf(l),M=A=>({width:s[A]||0,height:o[A]||0});return{first:M(0),last:M(t-1),widest:M(C),highest:M(w),widths:s,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return ot(this._alignToPixels?lr(this.chart,t,0):t,-32768,32767)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&e<t.length){const i=t[e];return i.$context||(i.$context=function(n,e,t){return Li(n,{tick:t,index:e,type:"tick"})}(this.getContext(),e,i))}return this.$context||(this.$context=function(n,e){return Li(n,{scale:e,type:"scale"})}(this.chart.getContext(),this))}_tickSize(){const e=this.options.ticks,t=An(this.labelRotation),i=Math.abs(Math.cos(t)),r=Math.abs(Math.sin(t)),s=this._getLabelSizes(),o=e.autoSkipPadding||0,a=s?s.widest.width+o:0,l=s?s.highest.height+o:0;return this.isHorizontal()?l*i>a*r?a/i:l/r:l*r<a*i?l/i:a/r}_isVisible(){const e=this.options.display;return"auto"!==e?!!e:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(e){const t=this.axis,i=this.chart,r=this.options,{grid:s,position:o}=r,a=s.offset,l=this.isHorizontal(),u=this.ticks.length+(a?1:0),d=fa(s),h=[],f=s.setContext(this.getContext()),p=f.drawBorder?f.borderWidth:0,g=p/2,_=function(J){return lr(i,J,p)};let v,b,D,C,w,M,A,O,k,ue,te,ne;if("top"===o)v=_(this.bottom),M=this.bottom-d,O=v-g,ue=_(e.top)+g,ne=e.bottom;else if("bottom"===o)v=_(this.top),ue=e.top,ne=_(e.bottom)-g,M=v+g,O=this.top+d;else if("left"===o)v=_(this.right),w=this.right-d,A=v-g,k=_(e.left)+g,te=e.right;else if("right"===o)v=_(this.left),k=e.left,te=_(e.right)-g,w=v+g,A=this.left+d;else if("x"===t){if("center"===o)v=_((e.top+e.bottom)/2+.5);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}ue=e.top,ne=e.bottom,M=v+g,O=M+d}else if("y"===t){if("center"===o)v=_((e.left+e.right)/2);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}w=v-g,A=w-d,k=e.left,te=e.right}const Ie=K(r.ticks.maxTicksLimit,u),tt=Math.max(1,Math.ceil(u/Ie));for(b=0;b<u;b+=tt){const J=s.setContext(this.getContext(b)),he=J.lineWidth,va=J.color,yr=s.borderDash||[],ba=J.borderDashOffset,tu=J.tickWidth,Ts=J.tickColor,Ca=J.tickBorderDash||[],Da=J.tickBorderDashOffset;D=gH(this,b,a),void 0!==D&&(C=lr(i,D,he),l?w=A=k=te=C:M=O=ue=ne=C,h.push({tx1:w,ty1:M,tx2:A,ty2:O,x1:k,y1:ue,x2:te,y2:ne,width:he,color:va,borderDash:yr,borderDashOffset:ba,tickWidth:tu,tickColor:Ts,tickBorderDash:Ca,tickBorderDashOffset:Da}))}return this._ticksLength=u,this._borderValue=v,h}_computeLabelItems(e){const t=this.axis,i=this.options,{position:r,ticks:s}=i,o=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:d}=s,h=fa(i.grid),f=h+u,p=d?-u:f,g=-An(this.labelRotation),_=[];let v,b,D,C,w,M,A,O,k,ue,te,ne,Ie="middle";if("top"===r)M=this.bottom-p,A=this._getXAxisLabelAlignment();else if("bottom"===r)M=this.top+p,A=this._getXAxisLabelAlignment();else if("left"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("right"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("x"===t){if("center"===r)M=(e.top+e.bottom)/2+f;else if(oe(r)){const J=Object.keys(r)[0];M=this.chart.scales[J].getPixelForValue(r[J])+f}A=this._getXAxisLabelAlignment()}else if("y"===t){if("center"===r)w=(e.left+e.right)/2-f;else if(oe(r)){const J=Object.keys(r)[0];w=this.chart.scales[J].getPixelForValue(r[J])}A=this._getYAxisLabelAlignment(h).textAlign}"y"===t&&("start"===l?Ie="top":"end"===l&&(Ie="bottom"));const tt=this._getLabelSizes();for(v=0,b=a.length;v<b;++v){D=a[v],C=D.label;const J=s.setContext(this.getContext(v));O=this.getPixelForTick(v)+s.labelOffset,k=this._resolveTickFontOptions(v),ue=k.lineHeight,te=we(C)?C.length:1;const he=te/2,va=J.color,yr=J.textStrokeColor,ba=J.textStrokeWidth;let tu;if(o?(w=O,ne="top"===r?"near"===c||0!==g?-te*ue+ue/2:"center"===c?-tt.highest.height/2-he*ue+ue:ue/2-tt.highest.height:"near"===c||0!==g?ue/2:"center"===c?tt.highest.height/2-he*ue:tt.highest.height-te*ue,d&&(ne*=-1)):(M=O,ne=(1-te)*ue/2),J.showLabelBackdrop){const Ts=gt(J.backdropPadding),Ca=tt.heights[v],Da=tt.widths[v];let zp=M+ne-Ts.top,Wp=w-Ts.left;switch(Ie){case"middle":zp-=Ca/2;break;case"bottom":zp-=Ca}switch(A){case"center":Wp-=Da/2;break;case"right":Wp-=Da}tu={left:Wp,top:zp,width:Da+Ts.width,height:Ca+Ts.height,color:J.backdropColor}}_.push({rotation:g,label:C,font:k,color:va,strokeColor:yr,strokeWidth:ba,textOffset:ne,textAlign:A,textBaseline:Ie,translation:[w,M],backdrop:tu})}return _}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-An(this.labelRotation))return"top"===e?"left":"right";let r="center";return"start"===t.align?r="left":"end"===t.align&&(r="right"),r}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=e+s,l=this._getLabelSizes().widest.width;let c,u;return"left"===t?r?(u=this.right+s,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u=this.left)):"right"===t?r?(u=this.left+s,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:i,top:r,width:s,height:o}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(i,r,s,o),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const r=this.ticks.findIndex(s=>s.value===e);return r>=0?t.setContext(this.getContext(r)).lineWidth:0}drawGrid(e){const t=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let s,o;const a=(l,c,u)=>{!u.width||!u.color||(i.save(),i.lineWidth=u.width,i.strokeStyle=u.color,i.setLineDash(u.borderDash||[]),i.lineDashOffset=u.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(t.display)for(s=0,o=r.length;s<o;++s){const l=r[s];t.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),t.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:e,ctx:t,options:{grid:i}}=this,r=i.setContext(this.getContext()),s=i.drawBorder?r.borderWidth:0;if(!s)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let l,c,u,d;this.isHorizontal()?(l=lr(e,this.left,s)-s/2,c=lr(e,this.right,o)+o/2,u=d=a):(u=lr(e,this.top,s)-s/2,d=lr(e,this.bottom,o)+o/2,l=c=a),t.save(),t.lineWidth=r.borderWidth,t.strokeStyle=r.borderColor,t.beginPath(),t.moveTo(l,u),t.lineTo(c,d),t.stroke(),t.restore()}drawLabels(e){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&Tc(i,r);const s=this._labelItems||(this._labelItems=this._computeLabelItems(e));let o,a;for(o=0,a=s.length;o<a;++o){const l=s[o],c=l.font,u=l.label;l.backdrop&&(i.fillStyle=l.backdrop.color,i.fillRect(l.backdrop.left,l.backdrop.top,l.backdrop.width,l.backdrop.height)),ur(i,u,0,l.textOffset,c,l)}r&&Oc(i)}drawTitle(){const{ctx:e,options:{position:t,title:i,reverse:r}}=this;if(!i.display)return;const s=et(i.font),o=gt(i.padding),a=i.align;let l=s.lineHeight/2;"bottom"===t||"center"===t||oe(t)?(l+=o.bottom,we(i.text)&&(l+=s.lineHeight*(i.text.length-1))):l+=o.top;const{titleX:c,titleY:u,maxWidth:d,rotation:h}=function(n,e,t,i){const{top:r,left:s,bottom:o,right:a,chart:l}=n,{chartArea:c,scales:u}=l;let h,f,p,d=0;const g=o-r,_=a-s;if(n.isHorizontal()){if(f=pt(i,s,a),oe(t)){const v=Object.keys(t)[0];p=u[v].getPixelForValue(t[v])+g-e}else p="center"===t?(c.bottom+c.top)/2+g-e:wx(n,t,e);h=a-s}else{if(oe(t)){const v=Object.keys(t)[0];f=u[v].getPixelForValue(t[v])-_+e}else f="center"===t?(c.left+c.right)/2-_+e:wx(n,t,e);p=pt(i,o,r),d="left"===t?-Fe:Fe}return{titleX:f,titleY:p,maxWidth:h,rotation:d}}(this,l,t,a);ur(e,i.text,0,0,s,{color:i.color,maxWidth:d,rotation:h,textAlign:vH(a,t,r),textBaseline:"middle",translation:[c,u]})}draw(e){!this._isVisible()||(this.drawBackground(),this.drawGrid(e),this.drawBorder(),this.drawTitle(),this.drawLabels(e))}_layers(){const e=this.options,t=e.ticks&&e.ticks.z||0,i=K(e.grid&&e.grid.z,-1);return this._isVisible()&&this.draw===pr.prototype.draw?[{z:i,draw:r=>{this.drawBackground(),this.drawGrid(r),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:t,draw:r=>{this.drawLabels(r)}}]:[{z:t,draw:r=>{this.draw(r)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=t.length;s<o;++s){const a=t[s];a[i]===this.id&&(!e||a.type===e)&&r.push(a)}return r}_resolveTickFontOptions(e){return et(this.options.ticks.setContext(this.getContext(e)).font)}_maxDigits(){const e=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/e}}class Hc{constructor(e,t,i){this.type=e,this.scope=t,this.override=i,this.items=Object.create(null)}isForType(e){return Object.prototype.isPrototypeOf.call(this.type.prototype,e.prototype)}register(e){const t=Object.getPrototypeOf(e);let i;var n;"id"in(n=t)&&"defaults"in n&&(i=this.register(t));const r=this.items,s=e.id,o=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+e);return s in r||(r[s]=e,function(n,e,t){const i=Yo(Object.create(null),[t?ae.get(t):{},ae.get(e),n.defaults]);ae.set(e,i),n.defaultRoutes&&function(n,e){Object.keys(e).forEach(t=>{const i=t.split("."),r=i.pop(),s=[n].concat(i).join("."),o=e[t].split("."),a=o.pop(),l=o.join(".");ae.route(s,r,l,a)})}(e,n.defaultRoutes),n.descriptors&&ae.describe(e,n.descriptors)}(e,o,i),this.override&&ae.override(e.id,e.overrides)),o}get(e){return this.items[e]}unregister(e){const t=this.items,i=e.id,r=this.scope;i in t&&delete t[i],r&&i in ae[r]&&(delete ae[r][i],this.override&&delete ar[i])}}var yi=new class{constructor(){this.controllers=new Hc(mi,"datasets",!0),this.elements=new Hc(In,"elements"),this.plugins=new Hc(Object,"plugins"),this.scales=new Hc(pr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,t,i){[...t].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(e,s,r):pe(r,o=>{const a=i||this._getRegistryForType(o);this._exec(e,a,o)})})}_exec(e,t,i){const r=ip(e);xe(i["before"+r],[],i),t[e](i),xe(i["after"+r],[],i)}_getRegistryForType(e){for(let t=0;t<this._typedRegistries.length;t++){const i=this._typedRegistries[t];if(i.isForType(e))return i}return this.plugins}_get(e,t,i){const r=t.get(e);if(void 0===r)throw new Error('"'+e+'" is not a registered '+i+".");return r}};class EH{constructor(){this._init=[]}notify(e,t,i,r){"beforeInit"===t&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,"install"));const s=r?this._descriptors(e).filter(r):this._descriptors(e),o=this._notify(s,e,t,i);return"afterDestroy"===t&&(this._notify(s,e,"stop"),this._notify(this._init,e,"uninstall")),o}_notify(e,t,i,r){r=r||{};for(const s of e){const o=s.plugin;if(!1===xe(o[i],[t,r,s.options],o)&&r.cancelable)return!1}return!0}invalidate(){de(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;const t=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),t}_createDescriptors(e,t){const i=e&&e.config,r=K(i.options&&i.options.plugins,{}),s=function(n){const e=[],t=Object.keys(yi.plugins.items);for(let r=0;r<t.length;r++)e.push(yi.getPlugin(t[r]));const i=n.plugins||[];for(let r=0;r<i.length;r++){const s=i[r];-1===e.indexOf(s)&&e.push(s)}return e}(i);return!1!==r||t?function(n,e,t,i){const r=[],s=n.getContext();for(let o=0;o<e.length;o++){const a=e[o],c=SH(t[a.id],i);null!==c&&r.push({plugin:a,options:IH(n.config,a,c,s)})}return r}(e,s,r,t):[]}_notifyStateChanges(e){const t=this._oldCache||[],i=this._cache,r=(s,o)=>s.filter(a=>!o.some(l=>a.plugin.id===l.plugin.id));this._notify(r(t,i),e,"stop"),this._notify(r(i,t),e,"start")}}function SH(n,e){return e||!1!==n?!0===n?{}:n:null}function IH(n,e,t,i){const r=n.pluginScopeKeys(e),s=n.getOptionScopes(t,r);return n.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ap(n,e){return((e.datasets||{})[n]||{}).indexAxis||e.indexAxis||(ae.datasets[n]||{}).indexAxis||"x"}function Ip(n,e){return"x"===n||"y"===n?n:e.axis||function(n){return"top"===n||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0}(e.position)||n.charAt(0).toLowerCase()}function Mx(n){const e=n.options||(n.options={});e.plugins=K(e.plugins,{}),e.scales=function(n,e){const t=ar[n.type]||{scales:{}},i=e.scales||{},r=Ap(n.type,e),s=Object.create(null),o=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!oe(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const c=Ip(a,l),u=function(n,e){return n===e?"_index_":"_value_"}(c,r),d=t.scales||{};s[c]=s[c]||a,o[a]=Ko(Object.create(null),[{axis:c},l,d[c],d[u]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,c=a.indexAxis||Ap(l,e),d=(ar[l]||{}).scales||{};Object.keys(d).forEach(h=>{const f=function(n,e){let t=n;return"_index_"===n?t=e:"_value_"===n&&(t="x"===e?"y":"x"),t}(h,c),p=a[f+"AxisID"]||s[f]||f;o[p]=o[p]||Object.create(null),Ko(o[p],[{axis:f},i[p],d[h]])})}),Object.keys(o).forEach(a=>{const l=o[a];Ko(l,[ae.scales[l.type],ae.scale])}),o}(n,e)}function Sx(n){return(n=n||{}).datasets=n.datasets||[],n.labels=n.labels||[],n}const Ax=new Map,Ix=new Set;function Uc(n,e){let t=Ax.get(n);return t||(t=e(),Ax.set(n,t),Ix.add(t)),t}const pa=(n,e,t)=>{const i=or(e,t);void 0!==i&&n.add(i)};class FH{constructor(e){var n;this._config=((n=(n=e)||{}).data=Sx(n.data),Mx(n),n),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=Sx(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),Mx(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Uc(e,()=>[[`datasets.${e}`,""]])}datasetAnimationScopeKeys(e,t){return Uc(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]])}datasetElementScopeKeys(e,t){return Uc(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]])}pluginScopeKeys(e){const t=e.id;return Uc(`${this.type}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){const i=this._scopeCache;let r=i.get(e);return(!r||t)&&(r=new Map,i.set(e,r)),r}getOptionScopes(e,t,i){const{options:r,type:s}=this,o=this._cachedScopes(e,i),a=o.get(t);if(a)return a;const l=new Set;t.forEach(u=>{e&&(l.add(e),u.forEach(d=>pa(l,e,d))),u.forEach(d=>pa(l,r,d)),u.forEach(d=>pa(l,ar[s]||{},d)),u.forEach(d=>pa(l,ae,d)),u.forEach(d=>pa(l,hp,d))});const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),Ix.has(t)&&o.set(t,c),c}chartOptionScopes(){const{options:e,type:t}=this;return[e,ar[t]||{},ae.datasets[t]||{},{type:t},ae,hp]}resolveNamedOptions(e,t,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:a}=Tx(this._resolverCache,e,r);let l=o;(function(n,e){const{isScriptable:t,isIndexable:i}=Tw(n);for(const r of e){const s=t(r),o=i(r),a=(o||s)&&n[r];if(s&&(Ni(a)||NH(a))||o&&we(a))return!0}return!1})(o,t)&&(s.$shared=!1,l=Es(o,i=Ni(i)?i():i,this.createResolver(e,i,a)));for(const c of t)s[c]=l[c];return s}createResolver(e,t,i=[""],r){const{resolver:s}=Tx(this._resolverCache,e,i);return oe(t)?Es(s,t,void 0,r):s}}function Tx(n,e,t){let i=n.get(e);i||(i=new Map,n.set(e,i));const r=t.join();let s=i.get(r);return s||(s={resolver:mp(e,t),subPrefixes:t.filter(a=>!a.toLowerCase().includes("hover"))},i.set(r,s)),s}const NH=n=>oe(n)&&Object.getOwnPropertyNames(n).reduce((e,t)=>e||Ni(n[t]),!1),BH=["top","bottom","left","right","chartArea"];function Ox(n,e){return"top"===n||"bottom"===n||-1===BH.indexOf(n)&&"x"===e}function Px(n,e){return function(t,i){return t[n]===i[n]?t[e]-i[e]:t[n]-i[n]}}function kx(n){const e=n.chart,t=e.options.animation;e.notifyPlugins("afterRender"),xe(t&&t.onComplete,[n],e)}function jH(n){const e=n.chart,t=e.options.animation;xe(t&&t.onProgress,[n],e)}function Rx(n){return Lw()&&"string"==typeof n?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const $c={},Fx=n=>{const e=Rx(n);return Object.values($c).filter(t=>t.canvas===e).pop()};function HH(n,e,t){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=e){const o=n[r];delete n[r],(t>0||s>e)&&(n[s+t]=o)}}}class gr{constructor(e,t){const i=this.config=new FH(t),r=Rx(e),s=Fx(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());var n;this.platform=new(i.platform||(n=r,!Lw()||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas?qj:sH)),this.platform.updateConfig(i);const a=this.platform.acquireContext(r,o.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;this.id=S2(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new EH,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(n,e){let t;return function(...i){return e?(clearTimeout(t),t=setTimeout(n,e,i)):n.apply(this,i),e}}(d=>this.update(d),o.resizeDelay||0),this._dataChanges=[],$c[this.id]=this,a&&l?(gi.listen(this,"complete",kx),gi.listen(this,"progress",jH),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:i,height:r,_aspectRatio:s}=this;return de(e)?t&&s?s:r?i/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bw(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ew(this.canvas,this.ctx),this}stop(){return gi.stop(this),this}resize(e,t){gi.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const i=this.options,o=this.platform.getMaximumSize(this.canvas,e,t,i.maintainAspectRatio&&this.aspectRatio),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bw(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),xe(i.onResize,[this,o],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){pe(this.options.scales||{},(i,r)=>{i.id=r})}buildOrUpdateScales(){const e=this.options,t=e.scales,i=this.scales,r=Object.keys(i).reduce((o,a)=>(o[a]=!1,o),{});let s=[];t&&(s=s.concat(Object.keys(t).map(o=>{const a=t[o],l=Ip(o,a),c="r"===l,u="x"===l;return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),pe(s,o=>{const a=o.options,l=a.id,c=Ip(l,a),u=K(a.type,o.dtype);(void 0===a.position||Ox(a.position,c)!==Ox(o.dposition))&&(a.position=o.dposition),r[l]=!0;let d=null;l in i&&i[l].type===u?d=i[l]:(d=new(yi.getScale(u))({id:l,type:u,ctx:this.ctx,chart:this}),i[d.id]=d),d.init(a,e)}),pe(r,(o,a)=>{o||delete i[a]}),pe(i,o=>{mt.configure(this,o,o.options),mt.addBox(this,o)})}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,i=e.length;if(e.sort((r,s)=>r.index-s.index),i>t){for(let r=t;r<i;++r)this._destroyDatasetMeta(r);e.splice(t,i-t)}this._sortedMetasets=e.slice(0).sort(Px("order","index"))}_removeUnreferencedMetasets(){const{_metasets:e,data:{datasets:t}}=this;e.length>t.length&&delete this._stacks,e.forEach((i,r)=>{0===t.filter(s=>s===i._dataset).length&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=t.length;i<r;i++){const s=t[i];let o=this.getDatasetMeta(i);const a=s.type||this.config.type;if(o.type&&o.type!==a&&(this._destroyDatasetMeta(i),o=this.getDatasetMeta(i)),o.type=a,o.indexAxis=s.indexAxis||Ap(a,this.options),o.order=s.order||0,o.index=i,o.label=""+s.label,o.visible=this.isDatasetVisible(i),o.controller)o.controller.updateIndex(i),o.controller.linkScales();else{const l=yi.getController(a),{datasetElementType:c,dataElementType:u}=ae.datasets[a];Object.assign(l.prototype,{dataElementType:yi.getElement(u),datasetElementType:c&&yi.getElement(c)}),o.controller=new l(this,i),e.push(o.controller)}}return this._updateMetasets(),e}_resetElements(){pe(this.data.datasets,(e,t)=>{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const i=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:d}=this.getDatasetMeta(c),h=!r&&-1===s.indexOf(d);d.buildOrUpdateElements(h),o=Math.max(+d.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),r||pe(s,c=>{c.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Px("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){pe(this.scales,e=>{mt.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),i=new Set(e.events);(!aw(t,i)||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of t)HH(e,r,"_removeElements"===i?-s:s)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,i=s=>new Set(e.filter(o=>o[0]===s).map((o,a)=>a+","+o.splice(1).join(","))),r=i(0);for(let s=1;s<t;s++)if(!aw(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;mt.update(this,this.width,this.height,e);const t=this.chartArea,i=t.width<=0||t.height<=0;this._layers=[],pe(this.boxes,r=>{i&&"chartArea"===r.position||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let t=0,i=this.data.datasets.length;t<i;++t)this.getDatasetMeta(t).controller.configure();for(let t=0,i=this.data.datasets.length;t<i;++t)this._updateDataset(t,Ni(e)?e({datasetIndex:t}):e);this.notifyPlugins("afterDatasetsUpdate",{mode:e})}}_updateDataset(e,t){const i=this.getDatasetMeta(e),r={meta:i,index:e,mode:t,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",r)&&(i.controller._update(t),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(gi.has(this)?this.attached&&!gi.running(this)&&gi.start(this):(this.draw(),kx({chart:this})))}draw(){let e;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resize(i,r),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const t=this._layers;for(e=0;e<t.length&&t[e].z<=0;++e)t[e].draw(this.chartArea);for(this._drawDatasets();e<t.length;++e)t[e].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(e){const t=this._sortedMetasets,i=[];let r,s;for(r=0,s=t.length;r<s;++r){const o=t[r];(!e||o.visible)&&i.push(o)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const e=this.getSortedVisibleDatasetMetas();for(let t=e.length-1;t>=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,i=e._clip,r=!i.disabled,s=this.chartArea,o={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&Tc(t,{left:!1===i.left?0:s.left-i.left,right:!1===i.right?this.width:s.right+i.right,top:!1===i.top?0:s.top-i.top,bottom:!1===i.bottom?this.height:s.bottom+i.bottom}),e.controller.draw(),r&&Oc(t),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(e,t,i,r){const s=Bj.modes[t];return"function"==typeof s?s(this,e,i,r):[]}getDatasetMeta(e){const t=this.data.datasets[e],i=this._metasets;let r=i.filter(s=>s&&s._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Li(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const i=this.getDatasetMeta(e);return"boolean"==typeof i.hidden?!i.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,i){const r=i?"show":"hide",s=this.getDatasetMeta(e),o=s.controller._resolveAnimations(void 0,r);un(t)?(s.data[t].hidden=!i,this.update()):(this.setDatasetVisibility(e,i),o.update(s,{visible:i}),this.update(a=>a.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),gi.remove(this),e=0,t=this.data.datasets.length;e<t;++e)this._destroyDatasetMeta(e)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:e,ctx:t}=this;this._stop(),this.config.clearCache(),e&&(this.unbindEvents(),Ew(e,t),this.platform.releaseContext(t),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete $c[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...e){return this.canvas.toDataURL(...e)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const e=this._listeners,t=this.platform,i=(s,o)=>{t.addEventListener(this,s,o),e[s]=o},r=(s,o,a)=>{s.offsetX=o,s.offsetY=a,this._eventHandler(s)};pe(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,i=(l,c)=>{t.addEventListener(this,l,c),e[l]=c},r=(l,c)=>{e[l]&&(t.removeEventListener(this,l,c),delete e[l])},s=(l,c)=>{this.canvas&&this.resize(l,c)};let o;const a=()=>{r("attach",a),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",a)},t.isAttached(this.canvas)?a():o()}unbindEvents(){pe(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},pe(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,i){const r=i?"set":"remove";let s,o,a,l;for("dataset"===t&&(s=this.getDatasetMeta(e[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),a=0,l=e.length;a<l;++a){o=e[a];const c=o&&this.getDatasetMeta(o.datasetIndex).controller;c&&c[r+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(e){const t=this._active||[],i=e.map(({datasetIndex:s,index:o})=>{const a=this.getDatasetMeta(s);if(!a)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:a.data[o],index:o}});!vc(i,t)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,t))}notifyPlugins(e,t,i){return this._plugins.notify(this,e,t,i)}_updateHoverStyles(e,t,i){const r=this.options.hover,s=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),o=s(t,e),a=i?e:s(e,t);o.length&&this.updateHoverStyle(o,r.mode,!1),a.length&&r.mode&&this.updateHoverStyle(a,r.mode,!0)}_eventHandler(e,t){const i={event:e,replay:t,cancelable:!0,inChartArea:cr(e,this.chartArea,this._minPadding)},r=o=>(o.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",i,r))return;const s=this._handleEvent(e,t,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(e,t,i){const{_active:r=[],options:s}=this,a=this._getActiveElements(e,r,i,t),l="mouseup"===(n=e).type||"click"===n.type||"contextmenu"===n.type,c=function(n,e,t,i){return t&&"mouseout"!==n.type?i?e:n:null}(e,this._lastEvent,i,l);var n;i&&(this._lastEvent=null,xe(s.onHover,[e,a,this],this),l&&xe(s.onClick,[e,a,this],this));const u=!vc(a,r);return(u||t)&&(this._active=a,this._updateHoverStyles(a,r,t)),this._lastEvent=c,u}_getActiveElements(e,t,i,r){if("mouseout"===e.type)return[];if(!i)return t;const s=this.options.hover;return this.getElementsAtEventForMode(e,s.mode,s,r)}}const Nx=()=>pe(gr.instances,n=>n._plugins.invalidate()),Vi=!0;function Lx(n,e,t){const{startAngle:i,pixelMargin:r,x:s,y:o,outerRadius:a,innerRadius:l}=e;let c=r/a;n.beginPath(),n.arc(s,o,a,i-c,t+c),l>r?(c=r/l,n.arc(s,o,l,t+c,i-c,!0)):n.arc(s,o,r,t+Fe,i-Fe),n.closePath(),n.clip()}function As(n,e,t,i){return{x:t+n*Math.cos(e),y:i+n*Math.sin(e)}}function Tp(n,e,t,i,r){const{x:s,y:o,startAngle:a,pixelMargin:l,innerRadius:c}=e,u=Math.max(e.outerRadius+i+t-l,0),d=c>0?c+i+t+l:0;let h=0;const f=r-a;if(i){const yr=((c>0?c-i:0)+(u>0?u-i:0))/2;h=(f-(0!==yr?f*yr/(yr+i):f))/2}const g=(f-Math.max(.001,f*u-t/Ae)/u)/2,_=a+g+h,v=r-g-h,{outerStart:b,outerEnd:D,innerStart:C,innerEnd:w}=function(n,e,t,i){const r=function(n){return pp(n,["outerStart","outerEnd","innerStart","innerEnd"])}(n.options.borderRadius),s=(t-e)/2,o=Math.min(s,i*e/2),a=l=>{const c=(t-Math.min(s,l))*i/2;return ot(l,0,Math.min(s,c))};return{outerStart:a(r.outerStart),outerEnd:a(r.outerEnd),innerStart:ot(r.innerStart,0,o),innerEnd:ot(r.innerEnd,0,o)}}(e,d,u,v-_),M=u-b,A=u-D,O=_+b/M,k=v-D/A,ue=d+C,te=d+w,ne=_+C/ue,Ie=v-w/te;if(n.beginPath(),n.arc(s,o,u,O,k),D>0){const he=As(A,k,s,o);n.arc(he.x,he.y,D,k,v+Fe)}const tt=As(te,v,s,o);if(n.lineTo(tt.x,tt.y),w>0){const he=As(te,Ie,s,o);n.arc(he.x,he.y,w,v+Fe,Ie+Math.PI)}if(n.arc(s,o,d,v-w/d,_+C/d,!0),C>0){const he=As(ue,ne,s,o);n.arc(he.x,he.y,C,ne+Math.PI,_-Fe)}const J=As(M,_,s,o);if(n.lineTo(J.x,J.y),b>0){const he=As(M,O,s,o);n.arc(he.x,he.y,b,_-Fe,O)}n.closePath()}Object.defineProperties(gr,{defaults:{enumerable:Vi,value:ae},instances:{enumerable:Vi,value:$c},overrides:{enumerable:Vi,value:ar},registry:{enumerable:Vi,value:yi},version:{enumerable:Vi,value:"3.7.0"},getChart:{enumerable:Vi,value:Fx},register:{enumerable:Vi,value:(...n)=>{yi.add(...n),Nx()}},unregister:{enumerable:Vi,value:(...n)=>{yi.remove(...n),Nx()}}});class zc extends In{constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,i){const r=this.getProps(["x","y"],i),{angle:s,distance:o}=hw(r,{x:e,y:t}),{startAngle:a,endAngle:l,innerRadius:c,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),h=this.options.spacing/2,p=K(d,l-a)>=_e||Qo(s,a,l),g=fi(o,c+h,u+h);return p&&g}getCenterPoint(e){const{x:t,y:i,startAngle:r,endAngle:s,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],e),{offset:l,spacing:c}=this.options,u=(r+s)/2,d=(o+a+c+l)/2;return{x:t+Math.cos(u)*d,y:i+Math.sin(u)*d}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:i}=this,r=(t.offset||0)/2,s=(t.spacing||0)/2;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=i>_e?Math.floor(i/_e):0,0===i||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=0;if(r){o=r/2;const l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o),this.circumference>=Ae&&(o=r)}e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor;const a=function(n,e,t,i){const{fullCircles:r,startAngle:s,circumference:o}=e;let a=e.endAngle;if(r){Tp(n,e,t,i,s+_e);for(let l=0;l<r;++l)n.fill();isNaN(o)||(a=s+o%_e,o%_e==0&&(a+=_e))}return Tp(n,e,t,i,a),n.fill(),a}(e,this,o,s);(function(n,e,t,i,r){const{options:s}=e,{borderWidth:o,borderJoinStyle:a}=s,l="inner"===s.borderAlign;!o||(l?(n.lineWidth=2*o,n.lineJoin=a||"round"):(n.lineWidth=o,n.lineJoin=a||"bevel"),e.fullCircles&&function(n,e,t){const{x:i,y:r,startAngle:s,pixelMargin:o,fullCircles:a}=e,l=Math.max(e.outerRadius-o,0),c=e.innerRadius+o;let u;for(t&&Lx(n,e,s+_e),n.beginPath(),n.arc(i,r,c,s+_e,s,!0),u=0;u<a;++u)n.stroke();for(n.beginPath(),n.arc(i,r,l,s,s+_e),u=0;u<a;++u)n.stroke()}(n,e,l),l&&Lx(n,e,r),Tp(n,e,t,i,r),n.stroke())})(e,this,o,s,a),e.restore()}}function Vx(n,e,t=e){n.lineCap=K(t.borderCapStyle,e.borderCapStyle),n.setLineDash(K(t.borderDash,e.borderDash)),n.lineDashOffset=K(t.borderDashOffset,e.borderDashOffset),n.lineJoin=K(t.borderJoinStyle,e.borderJoinStyle),n.lineWidth=K(t.borderWidth,e.borderWidth),n.strokeStyle=K(t.borderColor,e.borderColor)}function YH(n,e,t){n.lineTo(t.x,t.y)}function Bx(n,e,t={}){const i=n.length,{start:r=0,end:s=i-1}=t,{start:o,end:a}=e,l=Math.max(r,o),c=Math.min(s,a);return{count:i,start:l,loop:e.loop,ilen:c<l&&!(r<o&&s<o||r>a&&s>a)?i+c-l:c-l}}function JH(n,e,t,i){const{points:r,options:s}=e,{count:o,start:a,loop:l,ilen:c}=Bx(r,t,i),u=function(n){return n.stepped?lB:n.tension||"monotone"===n.cubicInterpolationMode?cB:YH}(s);let f,p,g,{move:d=!0,reverse:h}=i||{};for(f=0;f<=c;++f)p=r[(a+(h?c-f:f))%o],!p.skip&&(d?(n.moveTo(p.x,p.y),d=!1):u(n,g,p,h,s.stepped),g=p);return l&&(p=r[(a+(h?c:0))%o],u(n,g,p,h,s.stepped)),!!l}function ZH(n,e,t,i){const r=e.points,{count:s,start:o,ilen:a}=Bx(r,t,i),{move:l=!0,reverse:c}=i||{};let h,f,p,g,_,v,u=0,d=0;const b=C=>(o+(c?a-C:C))%s,D=()=>{g!==_&&(n.lineTo(u,_),n.lineTo(u,g),n.lineTo(u,v))};for(l&&(f=r[b(0)],n.moveTo(f.x,f.y)),h=0;h<=a;++h){if(f=r[b(h)],f.skip)continue;const C=f.x,w=f.y,M=0|C;M===p?(w<g?g=w:w>_&&(_=w),u=(d*u+C)/++d):(D(),n.lineTo(C,w),p=M,d=0,g=_=w),v=w}D()}function Op(n){const e=n.options;return n._decimated||n._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||e.borderDash&&e.borderDash.length?JH:ZH}zc.id="arc",zc.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},zc.defaultRoutes={backgroundColor:"backgroundColor"};const tU="function"==typeof Path2D;let Wc=(()=>{class n extends In{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,i){const r=this.options;!r.tension&&"monotone"!==r.cubicInterpolationMode||r.stepped||this._pointsUpdated||(FB(this._points,r,t,r.spanGaps?this._loop:this._fullLoop,i),this._pointsUpdated=!0)}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(n,e){const t=n.points,i=n.options.spanGaps,r=t.length;if(!r)return[];const s=!!n._loop,{start:o,end:a}=function(n,e,t,i){let r=0,s=e-1;if(t&&!i)for(;r<e&&!n[r].skip;)r++;for(;r<e&&n[r].skip;)r++;for(r%=e,t&&(s+=r);s>r&&n[s%e].skip;)s--;return s%=e,{start:r,end:s}}(t,r,s,i);return function(n,e,t,i){return i&&i.setContext&&t?function(n,e,t,i){const r=n._chart.getContext(),s=Kw(n.options),{_datasetIndex:o,options:{spanGaps:a}}=n,l=t.length,c=[];let u=s,d=e[0].start,h=d;function f(p,g,_,v){const b=a?-1:1;if(p!==g){for(p+=l;t[p%l].skip;)p-=b;for(;t[g%l].skip;)g+=b;p%l!=g%l&&(c.push({start:p%l,end:g%l,loop:_,style:v}),u=v,d=g%l)}}for(const p of e){d=a?d:p.start;let _,g=t[d%l];for(h=d+1;h<=p.end;h++){const v=t[h%l];_=Kw(i.setContext(Li(r,{type:"segment",p0:g,p1:v,p0DataIndex:(h-1)%l,p1DataIndex:h%l,datasetIndex:o}))),QB(_,u)&&f(d,h-1,p.loop,u),g=v,u=_}d<h-1&&f(d,h-1,p.loop,u)}return c}(n,e,t,i):e}(n,!0===i?[{start:o,end:a,loop:s}]:function(n,e,t,i){const r=n.length,s=[];let l,o=e,a=n[e];for(l=e+1;l<=t;++l){const c=n[l%r];c.skip||c.stop?a.skip||(s.push({start:e%r,end:(l-1)%r,loop:i=!1}),e=o=c.stop?l:null):(o=l,a.skip&&(e=l)),a=c}return null!==o&&s.push({start:e%r,end:o%r,loop:i}),s}(t,o,a<o?a+r:a,!!n._fullLoop&&0===o&&a===r-1),t,e)}(this,this.options.segment))}first(){const t=this.segments;return t.length&&this.points[t[0].start]}last(){const t=this.segments,r=t.length;return r&&this.points[t[r-1].end]}interpolate(t,i){const r=this.options,s=t[i],o=this.points,a=qw(this,{property:i,start:s,end:s});if(!a.length)return;const l=[],c=function(n){return n.stepped?$B:n.tension||"monotone"===n.cubicInterpolationMode?zB:hr}(r);let u,d;for(u=0,d=a.length;u<d;++u){const{start:h,end:f}=a[u],p=o[h],g=o[f];if(p===g){l.push(p);continue}const v=c(p,g,Math.abs((s-p[i])/(g[i]-p[i])),r.stepped);v[i]=t[i],l.push(v)}return 1===l.length?l[0]:l}pathSegment(t,i,r){return Op(this)(t,this,i,r)}path(t,i,r){const s=this.segments,o=Op(this);let a=this._loop;i=i||0,r=r||this.points.length-i;for(const l of s)a&=o(t,this,l,{start:i,end:i+r-1});return!!a}draw(t,i,r,s){(this.points||[]).length&&(this.options||{}).borderWidth&&(t.save(),function(n,e,t,i){tU&&!e.options.segment?function(n,e,t,i){let r=e._path;r||(r=e._path=new Path2D,e.path(r,t,i)&&r.closePath()),Vx(n,e.options),n.stroke(r)}(n,e,t,i):function(n,e,t,i){const{segments:r,options:s}=e,o=Op(e);for(const a of r)Vx(n,s,a.style),n.beginPath(),o(n,e,a,{start:t,end:t+i-1})&&n.closePath(),n.stroke()}(n,e,t,i)}(t,this,r,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}return n.id="line",n.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n.descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e},n})();function jx(n,e,t,i){const r=n.options,{[t]:s}=n.getProps([t],i);return Math.abs(e-s)<r.radius+r.hitRadius}let iU=(()=>{class n extends In{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,i,r){const s=this.options,{x:o,y:a}=this.getProps(["x","y"],r);return Math.pow(t-o,2)+Math.pow(i-a,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,i){return jx(this,t,"x",i)}inYRange(t,i){return jx(this,t,"y",i)}getCenterPoint(t){const{x:i,y:r}=this.getProps(["x","y"],t);return{x:i,y:r}}size(t){let i=(t=t||this.options||{}).radius||0;return i=Math.max(i,i&&t.hoverRadius||0),2*(i+(i&&t.borderWidth||0))}draw(t,i){const r=this.options;this.skip||r.radius<.1||!cr(this,i,this.size(r)/2)||(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.fillStyle=r.backgroundColor,Ic(t,r,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}return n.id="point",n.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n})();function Hx(n,e){const{x:t,y:i,base:r,width:s,height:o}=n.getProps(["x","y","base","width","height"],e);let a,l,c,u,d;return n.horizontal?(d=o/2,a=Math.min(t,r),l=Math.max(t,r),c=i-d,u=i+d):(d=s/2,a=t-d,l=t+d,c=Math.min(i,r),u=Math.max(i,r)),{left:a,top:c,right:l,bottom:u}}function Bi(n,e,t,i){return n?0:ot(e,t,i)}function Pp(n,e,t,i){const r=null===e,s=null===t,a=n&&!(r&&s)&&Hx(n,i);return a&&(r||fi(e,a.left,a.right))&&(s||fi(t,a.top,a.bottom))}function lU(n,e){n.rect(e.x,e.y,e.w,e.h)}function kp(n,e,t={}){const i=n.x!==t.x?-e:0,r=n.y!==t.y?-e:0;return{x:n.x+i,y:n.y+r,w:n.w+((n.x+n.w!==t.x+t.w?e:0)-i),h:n.h+((n.y+n.h!==t.y+t.h?e:0)-r),radius:n.radius}}class Gc extends In{constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=function(n){const e=Hx(n),t=e.right-e.left,i=e.bottom-e.top,r=function(n,e,t){const r=n.borderSkipped,s=Mw(n.options.borderWidth);return{t:Bi(r.top,s.top,0,t),r:Bi(r.right,s.right,0,e),b:Bi(r.bottom,s.bottom,0,t),l:Bi(r.left,s.left,0,e)}}(n,t/2,i/2),s=function(n,e,t){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=xs(r),o=Math.min(e,t),a=n.borderSkipped,l=i||oe(r);return{topLeft:Bi(!l||a.top||a.left,s.topLeft,0,o),topRight:Bi(!l||a.top||a.right,s.topRight,0,o),bottomLeft:Bi(!l||a.bottom||a.left,s.bottomLeft,0,o),bottomRight:Bi(!l||a.bottom||a.right,s.bottomRight,0,o)}}(n,t/2,i/2);return{outer:{x:e.left,y:e.top,w:t,h:i,radius:s},inner:{x:e.left+r.l,y:e.top+r.t,w:t-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}(this),a=(n=o.radius).topLeft||n.topRight||n.bottomLeft||n.bottomRight?Pc:lU;var n;e.save(),(o.w!==s.w||o.h!==s.h)&&(e.beginPath(),a(e,kp(o,t,s)),e.clip(),a(e,kp(s,-t,o)),e.fillStyle=i,e.fill("evenodd")),e.beginPath(),a(e,kp(s,t)),e.fillStyle=r,e.fill(),e.restore()}inRange(e,t,i){return Pp(this,e,t,i)}inXRange(e,t){return Pp(this,e,null,t)}inYRange(e,t){return Pp(this,null,e,t)}getCenterPoint(e){const{x:t,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],e);return{x:s?(t+r)/2:t,y:s?i:(i+r)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}}Gc.id="bar",Gc.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},Gc.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var cU=Object.freeze({__proto__:null,ArcElement:zc,LineElement:Wc,PointElement:iU,BarElement:Gc});function Ux(n){if(n._decimated){const e=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{value:e})}}function $x(n){n.data.datasets.forEach(e=>{Ux(e)})}var fU={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,e,t)=>{if(!t.enabled)return void $x(n);const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:o,indexAxis:a}=r,l=n.getDatasetMeta(s),c=o||r.data;if("y"===sa([a,n.options.indexAxis])||"line"!==l.type)return;const u=n.scales[l.xAxisID];if("linear"!==u.type&&"time"!==u.type||n.options.parsing)return;let p,{start:d,count:h}=function(n,e){const t=e.length;let r,i=0;const{iScale:s}=n,{min:o,max:a,minDefined:l,maxDefined:c}=s.getUserBounds();return l&&(i=ot(pi(e,s.axis,o).lo,0,t-1)),r=c?ot(pi(e,s.axis,a).hi+1,i,t)-i:t-i,{start:i,count:r}}(l,c);if(h<=(t.threshold||4*i))Ux(r);else{switch(de(o)&&(r._data=c,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}})),t.algorithm){case"lttb":p=function(n,e,t,i,r){const s=r.samples||i;if(s>=t)return n.slice(e,e+t);const o=[],a=(t-2)/(s-2);let l=0;const c=e+t-1;let d,h,f,p,g,u=e;for(o[l++]=n[u],d=0;d<s-2;d++){let b,_=0,v=0;const D=Math.floor((d+1)*a)+1+e,C=Math.min(Math.floor((d+2)*a)+1,t)+e,w=C-D;for(b=D;b<C;b++)_+=n[b].x,v+=n[b].y;_/=w,v/=w;const M=Math.floor(d*a)+1+e,A=Math.min(Math.floor((d+1)*a)+1,t)+e,{x:O,y:k}=n[u];for(f=p=-1,b=M;b<A;b++)p=.5*Math.abs((O-_)*(n[b].y-k)-(O-n[b].x)*(v-k)),p>f&&(f=p,h=n[b],g=b);o[l++]=h,u=g}return o[l++]=n[c],o}(c,d,h,i,t);break;case"min-max":p=function(n,e,t,i){let o,a,l,c,u,d,h,f,p,g,r=0,s=0;const _=[],b=n[e].x,C=n[e+t-1].x-b;for(o=e;o<e+t;++o){a=n[o],l=(a.x-b)/C*i,c=a.y;const w=0|l;if(w===u)c<p?(p=c,d=o):c>g&&(g=c,h=o),r=(s*r+a.x)/++s;else{const M=o-1;if(!de(d)&&!de(h)){const A=Math.min(d,h),O=Math.max(d,h);A!==f&&A!==M&&_.push(qp(Gp({},n[A]),{x:r})),O!==f&&O!==M&&_.push(qp(Gp({},n[O]),{x:r}))}o>0&&M!==f&&_.push(n[M]),_.push(a),u=w,s=0,p=g=c,d=h=f=o}}return _}(c,d,h,i);break;default:throw new Error(`Unsupported decimation algorithm '${t.algorithm}'`)}r._decimated=p}})},destroy(n){$x(n)}};function mU(n,e,t){const i=function(n){const e=n.options,t=e.fill;let i=K(t&&t.target,t);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}(n);if(oe(i))return!isNaN(i.value)&&i;let r=parseFloat(i);return Be(r)&&Math.floor(r)===r?(("-"===i[0]||"+"===i[0])&&(r=e+r),!(r===e||r<0||r>=t)&&r):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}class zx{constructor(e){this.x=e.x,this.y=e.y,this.radius=e.radius}pathSegment(e,t,i){const{x:r,y:s,radius:o}=this;return e.arc(r,s,o,(t=t||{start:0,end:_e}).end,t.start,!0),!i.bounds}interpolate(e){const{x:t,y:i,radius:r}=this,s=e.angle;return{x:t+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function Wx(n,e,t){for(;e>n;e--){const i=t[e];if(!isNaN(i.x)&&!isNaN(i.y))break}return e}function wU(n,e,t){const i=[];for(let r=0;r<t.length;r++){const s=t[r],{first:o,last:a,point:l}=xU(s,e,"x");if(!(!l||o&&a))if(o)i.unshift(l);else if(n.push(l),!a)break}n.push(...i)}function xU(n,e,t){const i=n.interpolate(e,t);if(!i)return{};const r=i[t],s=n.segments,o=n.points;let a=!1,l=!1;for(let c=0;c<s.length;c++){const u=s[c],d=o[u.start][t],h=o[u.end][t];if(fi(r,d,h)){a=r===d,l=r===h;break}}return{first:a,last:l,point:i}}function EU(n){const{chart:e,fill:t,line:i}=n;if(Be(t))return function(n,e){const t=n.getDatasetMeta(e);return t&&n.isDatasetVisible(e)?t.dataset:null}(e,t);if("stack"===t)return function(n){const{scale:e,index:t,line:i}=n,r=[],s=i.segments,o=i.points,a=function(n,e){const t=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===e)break;s.hidden||t.unshift(s.dataset)}return t}(e,t);a.push(Gx({x:null,y:e.bottom},i));for(let l=0;l<s.length;l++){const c=s[l];for(let u=c.start;u<=c.end;u++)wU(r,o[u],a)}return new Wc({points:r,options:{}})}(n);if("shape"===t)return!0;const r=function(n){return(n.scale||{}).getPointPositionForValue?function(n){const{scale:e,fill:t}=n,i=e.options,r=e.getLabels().length,s=[],o=i.reverse?e.max:e.min;let l,c,u;if(u="start"===t?o:"end"===t?i.reverse?e.min:e.max:oe(t)?t.value:e.getBaseValue(),i.grid.circular)return c=e.getPointPositionForValue(0,o),new zx({x:c.x,y:c.y,radius:e.getDistanceFromCenterForValue(u)});for(l=0;l<r;++l)s.push(e.getPointPositionForValue(l,u));return s}(n):function(n){const{scale:e={},fill:t}=n;let r,i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:oe(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),Be(i)?(r=e.isHorizontal(),{x:r?i:null,y:r?null:i}):null}(n)}(n);return r instanceof zx?r:Gx(r,i)}function Gx(n,e){let t=[],i=!1;return we(n)?(i=!0,t=n):t=function(n,e){const{x:t=null,y:i=null}=n||{},r=e.points,s=[];return e.segments.forEach(({start:o,end:a})=>{a=Wx(o,a,r);const l=r[o],c=r[a];null!==i?(s.push({x:l.x,y:i}),s.push({x:c.x,y:i})):null!==t&&(s.push({x:t,y:l.y}),s.push({x:t,y:c.y}))}),s}(n,e),t.length?new Wc({points:t,options:{tension:0},_loop:i,_fullLoop:i}):null}function MU(n,e,t){let r=n[e].fill;const s=[e];let o;if(!t)return r;for(;!1!==r&&-1===s.indexOf(r);){if(!Be(r))return r;if(o=n[r],!o)return!1;if(o.visible)return r;s.push(r),r=o.fill}return!1}function qx(n,e,t){n.beginPath(),e.path(n),n.lineTo(e.last().x,t),n.lineTo(e.first().x,t),n.closePath(),n.clip()}function Rp(n,e,t,i){if(i)return;let r=e[n],s=t[n];return"angle"===n&&(r=Kt(r),s=Kt(s)),{property:n,start:r,end:s}}function Yx(n,e,t,i){return n&&e?i(n[t],e[t]):n?n[t]:e?e[t]:0}function AU(n,e,t){const{top:i,bottom:r}=e.chart.chartArea,{property:s,start:o,end:a}=t||{};"x"===s&&(n.beginPath(),n.rect(o,i,a-o,r-i),n.clip())}function Kx(n,e,t,i){const r=e.interpolate(t,i);r&&n.lineTo(r.x,r.y)}function Jx(n,e){const{line:t,target:i,property:r,color:s,scale:o}=e,a=function(n,e,t){const i=n.segments,r=n.points,s=e.points,o=[];for(const a of i){let{start:l,end:c}=a;c=Wx(l,c,r);const u=Rp(t,r[l],r[c],a.loop);if(!e.segments){o.push({source:a,target:u,start:r[l],end:r[c]});continue}const d=qw(e,u);for(const h of d){const f=Rp(t,s[h.start],s[h.end],h.loop),p=Gw(a,r,f);for(const g of p)o.push({source:g,target:h,start:{[t]:Yx(u,f,"start",Math.max)},end:{[t]:Yx(u,f,"end",Math.min)}})}}return o}(t,i,r);for(const{source:l,target:c,start:u,end:d}of a){const{style:{backgroundColor:h=s}={}}=l,f=!0!==i;n.save(),n.fillStyle=h,AU(n,o,f&&Rp(r,u,d)),n.beginPath();const p=!!t.pathSegment(n,l);let g;if(f){p?n.closePath():Kx(n,i,d,r);const _=!!i.pathSegment(n,c,{move:p,reverse:!0});g=p&&_,g||Kx(n,i,u,r)}n.closePath(),n.fill(g?"evenodd":"nonzero"),n.restore()}}function Fp(n,e,t){const i=EU(e),{line:r,scale:s,axis:o}=e,a=r.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:d=c}=l||{};i&&r.points.length&&(Tc(n,t),function(n,e){const{line:t,target:i,above:r,below:s,area:o,scale:a}=e,l=t._loop?"angle":e.axis;n.save(),"x"===l&&s!==r&&(qx(n,i,o.top),Jx(n,{line:t,target:i,color:r,scale:a,property:l}),n.restore(),n.save(),qx(n,i,o.bottom)),Jx(n,{line:t,target:i,color:s,scale:a,property:l}),n.restore()}(n,{line:r,target:i,above:u,below:d,area:t,scale:s,axis:o}),Oc(n))}var TU={id:"filler",afterDatasetsUpdate(n,e,t){const i=(n.data.datasets||[]).length,r=[];let s,o,a,l;for(o=0;o<i;++o)s=n.getDatasetMeta(o),a=s.dataset,l=null,a&&a.options&&a instanceof Wc&&(l={visible:n.isDatasetVisible(o),index:o,fill:mU(a,o,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:a}),s.$filler=l,r.push(l);for(o=0;o<i;++o)l=r[o],l&&!1!==l.fill&&(l.fill=MU(r,o,t.propagate))},beforeDraw(n,e,t){const i="beforeDraw"===t.drawTime,r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let o=r.length-1;o>=0;--o){const a=r[o].$filler;!a||(a.line.updateControlPoints(s,a.axis),i&&Fp(n.ctx,a,s))}},beforeDatasetsDraw(n,e,t){if("beforeDatasetsDraw"!==t.drawTime)return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;s&&Fp(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,e,t){const i=e.meta.$filler;!i||!1===i.fill||"beforeDatasetDraw"!==t.drawTime||Fp(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Zx=(n,e)=>{let{boxHeight:t=e,boxWidth:i=e}=n;return n.usePointStyle&&(t=Math.min(t,e),i=Math.min(i,e)),{boxWidth:i,boxHeight:t,itemHeight:Math.max(e,t)}};class Xx extends In{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,i){this.maxWidth=e,this.maxHeight=t,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=xe(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(i=>e.filter(i,this.chart.data))),e.sort&&(t=t.sort((i,r)=>e.sort(i,r,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const i=e.labels,r=et(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Zx(i,s);let c,u;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(o,s,a,l)+10):(u=this.maxHeight,c=this._fitCols(o,s,a,l)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(u,e.maxHeight||this.maxHeight)}_fitRows(e,t,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=r+a;let d=e;s.textAlign="left",s.textBaseline="middle";let h=-1,f=-u;return this.legendItems.forEach((p,g)=>{const _=i+t/2+s.measureText(p.text).width;(0===g||c[c.length-1]+_+2*a>o)&&(d+=u,c[c.length-(g>0?0:1)]=0,f+=u,h++),l[g]={left:0,top:f,row:h,width:_,height:r},c[c.length-1]+=_+a}),d}_fitCols(e,t,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=o-e;let d=a,h=0,f=0,p=0,g=0;return this.legendItems.forEach((_,v)=>{const b=i+t/2+s.measureText(_.text).width;v>0&&f+r+2*a>u&&(d+=h+a,c.push({width:h,height:f}),p+=h+a,g++,h=f=0),l[v]={left:p,top:f,col:g,width:b,height:r},h=Math.max(h,b),f+=r+a}),d+=h,c.push({width:h,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:i,labels:{padding:r},rtl:s}}=this,o=Ss(s,this.left,this.width);if(this.isHorizontal()){let a=0,l=pt(i,this.left+r,this.right-this.lineWidths[a]);for(const c of t)a!==c.row&&(a=c.row,l=pt(i,this.left+r,this.right-this.lineWidths[a])),c.top+=this.top+e+r,c.left=o.leftForLtr(o.x(l),c.width),l+=c.width+r}else{let a=0,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height);for(const c of t)c.col!==a&&(a=c.col,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+r,c.left=o.leftForLtr(o.x(c.left),c.width),l+=c.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Tc(e,this),this._draw(),Oc(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:i,ctx:r}=this,{align:s,labels:o}=e,a=ae.color,l=Ss(e.rtl,this.left,this.width),c=et(o.font),{color:u,padding:d}=o,h=c.size,f=h/2;let p;this.drawTitle(),r.textAlign=l.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=c.string;const{boxWidth:g,boxHeight:_,itemHeight:v}=Zx(o,h),C=this.isHorizontal(),w=this._computeTitleHeight();p=C?{x:pt(s,this.left+d,this.right-i[0]),y:this.top+d+w,line:0}:{x:this.left+d,y:pt(s,this.top+w+d,this.bottom-t[0].height),line:0},Uw(this.ctx,e.textDirection);const M=v+d;this.legendItems.forEach((A,O)=>{r.strokeStyle=A.fontColor||u,r.fillStyle=A.fontColor||u;const k=r.measureText(A.text).width,ue=l.textAlign(A.textAlign||(A.textAlign=o.textAlign)),te=g+f+k;let ne=p.x,Ie=p.y;l.setWidth(this.width),C?O>0&&ne+te+d>this.right&&(Ie=p.y+=M,p.line++,ne=p.x=pt(s,this.left+d,this.right-i[p.line])):O>0&&Ie+M>this.bottom&&(ne=p.x=ne+t[p.line].width+d,p.line++,Ie=p.y=pt(s,this.top+w+d,this.bottom-t[p.line].height)),function(A,O,k){if(isNaN(g)||g<=0||isNaN(_)||_<0)return;r.save();const ue=K(k.lineWidth,1);if(r.fillStyle=K(k.fillStyle,a),r.lineCap=K(k.lineCap,"butt"),r.lineDashOffset=K(k.lineDashOffset,0),r.lineJoin=K(k.lineJoin,"miter"),r.lineWidth=ue,r.strokeStyle=K(k.strokeStyle,a),r.setLineDash(K(k.lineDash,[])),o.usePointStyle){const te={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:ue},ne=l.xPlus(A,g/2);Ic(r,te,ne,O+f)}else{const te=O+Math.max((h-_)/2,0),ne=l.leftForLtr(A,g),Ie=xs(k.borderRadius);r.beginPath(),Object.values(Ie).some(tt=>0!==tt)?Pc(r,{x:ne,y:te,w:g,h:_,radius:Ie}):r.rect(ne,te,g,_),r.fill(),0!==ue&&r.stroke()}r.restore()}(l.x(ne),Ie,A),ne=((n,e,t,i)=>n===(i?"left":"right")?t:"center"===n?(e+t)/2:e)(ue,ne+g+f,C?ne+te:this.right,e.rtl),function(A,O,k){ur(r,k.text,A,O+v/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})}(l.x(ne),Ie,A),C?p.x+=te+d:p.y+=M}),$w(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,i=et(t.font),r=gt(t.padding);if(!t.display)return;const s=Ss(e.rtl,this.left,this.width),o=this.ctx,a=t.position,c=r.top+i.size/2;let u,d=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),u=this.top+c,d=pt(e.align,d,this.right-h);else{const p=this.columnSizes.reduce((g,_)=>Math.max(g,_.height),0);u=c+pt(e.align,this.top,this.bottom-p-e.labels.padding-this._computeTitleHeight())}const f=pt(a,d,d+h);o.textAlign=s.textAlign(np(a)),o.textBaseline="middle",o.strokeStyle=t.color,o.fillStyle=t.color,o.font=i.string,ur(o,t.text,f,u,i)}_computeTitleHeight(){const e=this.options.title,t=et(e.font),i=gt(e.padding);return e.display?t.lineHeight+i.height:0}_getLegendItemAt(e,t){let i,r,s;if(fi(e,this.left,this.right)&&fi(t,this.top,this.bottom))for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],fi(e,r.left,r.left+r.width)&&fi(t,r.top,r.top+r.height))return this.legendItems[i];return null}handleEvent(e){const t=this.options;if(!function(n,e){return!!("mousemove"===n&&(e.onHover||e.onLeave)||e.onClick&&("click"===n||"mouseup"===n))}(e.type,t))return;const i=this._getLegendItemAt(e.x,e.y);if("mousemove"===e.type){const r=this._hoveredItem,s=((n,e)=>null!==n&&null!==e&&n.datasetIndex===e.datasetIndex&&n.index===e.index)(r,i);r&&!s&&xe(t.onLeave,[e,r,this],this),this._hoveredItem=i,i&&!s&&xe(t.onHover,[e,i,this],this)}else i&&xe(t.onClick,[e,i,this],this)}}var kU={id:"legend",_element:Xx,start(n,e,t){const i=n.legend=new Xx({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i)},stop(n){mt.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,e,t){const i=n.legend;mt.configure(n,i,t),i.options=t},afterUpdate(n){const e=n.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(n,e){e.replay||n.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,e,t){const i=e.datasetIndex,r=t.chart;r.isDatasetVisible(i)?(r.hide(i),e.hidden=!0):(r.show(i),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const e=n.data.datasets,{labels:{usePointStyle:t,pointStyle:i,textAlign:r,color:s}}=n.legend.options;return n._getSortedDatasetMetas().map(o=>{const a=o.controller.getStyle(t?0:void 0),l=gt(a.borderWidth);return{text:e[o.index].label,fillStyle:a.backgroundColor,fontColor:s,hidden:!o.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:r||a.textAlign,borderRadius:0,datasetIndex:o.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Np extends In{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const r=we(i.text)?i.text.length:1;this._padding=gt(i.padding);const s=r*et(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:i,bottom:r,right:s,options:o}=this,a=o.align;let c,u,d,l=0;return this.isHorizontal()?(u=pt(a,i,s),d=t+e,c=s-i):("left"===o.position?(u=i+e,d=pt(a,r,t),l=-.5*Ae):(u=s-e,d=pt(a,t,r),l=.5*Ae),c=r-t),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const i=et(t.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(s);ur(e,t.text,0,0,i,{color:t.color,maxWidth:l,rotation:c,textAlign:np(t.align),textBaseline:"middle",translation:[o,a]})}}var FU={id:"title",_element:Np,start(n,e,t){!function(n,e){const t=new Np({ctx:n.ctx,options:e,chart:n});mt.configure(n,t,e),mt.addBox(n,t),n.titleBlock=t}(n,t)},stop(n){mt.removeBox(n,n.titleBlock),delete n.titleBlock},beforeUpdate(n,e,t){const i=n.titleBlock;mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const qc=new WeakMap;var NU={id:"subtitle",start(n,e,t){const i=new Np({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i),qc.set(n,i)},stop(n){mt.removeBox(n,qc.get(n)),qc.delete(n)},beforeUpdate(n,e,t){const i=qc.get(n);mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ga={average(n){if(!n.length)return!1;let e,t,i=0,r=0,s=0;for(e=0,t=n.length;e<t;++e){const o=n[e].element;if(o&&o.hasValue()){const a=o.tooltipPosition();i+=a.x,r+=a.y,++s}}return{x:i/s,y:r/s}},nearest(n,e){if(!n.length)return!1;let s,o,a,t=e.x,i=e.y,r=Number.POSITIVE_INFINITY;for(s=0,o=n.length;s<o;++s){const l=n[s].element;if(l&&l.hasValue()){const u=sp(e,l.getCenterPoint());u<r&&(r=u,a=l)}}if(a){const l=a.tooltipPosition();t=l.x,i=l.y}return{x:t,y:i}}};function Kn(n,e){return e&&(we(e)?Array.prototype.push.apply(n,e):n.push(e)),n}function _i(n){return("string"==typeof n||n instanceof String)&&n.indexOf("\n")>-1?n.split("\n"):n}function LU(n,e){const{element:t,datasetIndex:i,index:r}=e,s=n.getDatasetMeta(i).controller,{label:o,value:a}=s.getLabelAndValue(r);return{chart:n,label:o,parsed:s.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:a,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:t}}function Qx(n,e){const t=n.chart.ctx,{body:i,footer:r,title:s}=n,{boxWidth:o,boxHeight:a}=e,l=et(e.bodyFont),c=et(e.titleFont),u=et(e.footerFont),d=s.length,h=r.length,f=i.length,p=gt(e.padding);let g=p.height,_=0,v=i.reduce((C,w)=>C+w.before.length+w.lines.length+w.after.length,0);v+=n.beforeBody.length+n.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),v&&(g+=f*(e.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(v-f)*l.lineHeight+(v-1)*e.bodySpacing),h&&(g+=e.footerMarginTop+h*u.lineHeight+(h-1)*e.footerSpacing);let b=0;const D=function(C){_=Math.max(_,t.measureText(C).width+b)};return t.save(),t.font=c.string,pe(n.title,D),t.font=l.string,pe(n.beforeBody.concat(n.afterBody),D),b=e.displayColors?o+2+e.boxPadding:0,pe(i,C=>{pe(C.before,D),pe(C.lines,D),pe(C.after,D)}),b=0,t.font=u.string,pe(n.footer,D),t.restore(),_+=p.width,{width:_,height:g}}function jU(n,e,t,i){const{x:r,width:s}=t,{width:o,chartArea:{left:a,right:l}}=n;let c="center";return"center"===i?c=r<=(a+l)/2?"left":"right":r<=s/2?c="left":r>=o-s/2&&(c="right"),function(n,e,t,i){const{x:r,width:s}=i,o=t.caretSize+t.caretPadding;if("left"===n&&r+s+o>e.width||"right"===n&&r-s-o<0)return!0}(c,n,e,t)&&(c="center"),c}function eE(n,e,t){const i=t.yAlign||e.yAlign||function(n,e){const{y:t,height:i}=e;return t<i/2?"top":t>n.height-i/2?"bottom":"center"}(n,t);return{xAlign:t.xAlign||e.xAlign||jU(n,e,t,i),yAlign:i}}function tE(n,e,t,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=n,{xAlign:a,yAlign:l}=t,c=r+s,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:f}=xs(o);let p=function(n,e){let{x:t,width:i}=n;return"right"===e?t-=i:"center"===e&&(t-=i/2),t}(e,a);const g=function(n,e,t){let{y:i,height:r}=n;return"top"===e?i+=t:i-="bottom"===e?r+t:r/2,i}(e,l,c);return"center"===l?"left"===a?p+=c:"right"===a&&(p-=c):"left"===a?p-=Math.max(u,h)+r:"right"===a&&(p+=Math.max(d,f)+r),{x:ot(p,0,i.width-e.width),y:ot(g,0,i.height-e.height)}}function Yc(n,e,t){const i=gt(t.padding);return"center"===e?n.x+n.width/2:"right"===e?n.x+n.width-i.right:n.x+i.left}function nE(n){return Kn([],_i(n))}function iE(n,e){const t=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return t?n.override(t):n}let rE=(()=>{class n extends In{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const i=this.chart,r=this.options.setContext(this.getContext()),s=r.enabled&&i.options.animation&&r.animations,o=new Zw(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=function(n,e,t){return Li(n,{tooltip:e,tooltipItems:t,type:"tooltip"})}(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,i){const{callbacks:r}=i,s=r.beforeTitle.apply(this,[t]),o=r.title.apply(this,[t]),a=r.afterTitle.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}getBeforeBody(t,i){return nE(i.callbacks.beforeBody.apply(this,[t]))}getBody(t,i){const{callbacks:r}=i,s=[];return pe(t,o=>{const a={before:[],lines:[],after:[]},l=iE(r,o);Kn(a.before,_i(l.beforeLabel.call(this,o))),Kn(a.lines,l.label.call(this,o)),Kn(a.after,_i(l.afterLabel.call(this,o))),s.push(a)}),s}getAfterBody(t,i){return nE(i.callbacks.afterBody.apply(this,[t]))}getFooter(t,i){const{callbacks:r}=i,s=r.beforeFooter.apply(this,[t]),o=r.footer.apply(this,[t]),a=r.afterFooter.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}_createItems(t){const i=this._active,r=this.chart.data,s=[],o=[],a=[];let c,u,l=[];for(c=0,u=i.length;c<u;++c)l.push(LU(this.chart,i[c]));return t.filter&&(l=l.filter((d,h,f)=>t.filter(d,h,f,r))),t.itemSort&&(l=l.sort((d,h)=>t.itemSort(d,h,r))),pe(l,d=>{const h=iE(t.callbacks,d);s.push(h.labelColor.call(this,d)),o.push(h.labelPointStyle.call(this,d)),a.push(h.labelTextColor.call(this,d))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=l,l}update(t,i){const r=this.options.setContext(this.getContext()),s=this._active;let o,a=[];if(s.length){const l=ga[r.position].call(this,s,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const c=this._size=Qx(this,r),u=Object.assign({},l,c),d=eE(this.chart,r,u),h=tE(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:h.x,y:h.y,width:c.width,height:c.height,caretX:l.x,caretY:l.y}}else 0!==this.opacity&&(o={opacity:0});this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(t,i,r,s){const o=this.getCaretPosition(t,r,s);i.lineTo(o.x1,o.y1),i.lineTo(o.x2,o.y2),i.lineTo(o.x3,o.y3)}getCaretPosition(t,i,r){const{xAlign:s,yAlign:o}=this,{caretSize:a,cornerRadius:l}=r,{topLeft:c,topRight:u,bottomLeft:d,bottomRight:h}=xs(l),{x:f,y:p}=t,{width:g,height:_}=i;let v,b,D,C,w,M;return"center"===o?(w=p+_/2,"left"===s?(v=f,b=v-a,C=w+a,M=w-a):(v=f+g,b=v+a,C=w-a,M=w+a),D=v):(b="left"===s?f+Math.max(c,d)+a:"right"===s?f+g-Math.max(u,h)-a:this.caretX,"top"===o?(C=p,w=C-a,v=b-a,D=b+a):(C=p+_,w=C+a,v=b+a,D=b-a),M=C),{x1:v,x2:b,x3:D,y1:C,y2:w,y3:M}}drawTitle(t,i,r){const s=this.title,o=s.length;let a,l,c;if(o){const u=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.titleAlign,r),i.textAlign=u.textAlign(r.titleAlign),i.textBaseline="middle",a=et(r.titleFont),l=r.titleSpacing,i.fillStyle=r.titleColor,i.font=a.string,c=0;c<o;++c)i.fillText(s[c],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,c+1===o&&(t.y+=r.titleMarginBottom-l)}}_drawColorBox(t,i,r,s,o){const a=this.labelColors[r],l=this.labelPointStyles[r],{boxHeight:c,boxWidth:u,boxPadding:d}=o,h=et(o.bodyFont),f=Yc(this,"left",o),p=s.x(f),_=i.y+(c<h.lineHeight?(h.lineHeight-c)/2:0);if(o.usePointStyle){const v={radius:Math.min(u,c)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},b=s.leftForLtr(p,u)+u/2,D=_+c/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Ic(t,v,b,D),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Ic(t,v,b,D)}else{t.lineWidth=a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=s.leftForLtr(p,u-d),b=s.leftForLtr(s.xPlus(p,1),u-d-2),D=xs(a.borderRadius);Object.values(D).some(C=>0!==C)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Pc(t,{x:v,y:_,w:u,h:c,radius:D}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Pc(t,{x:b,y:_+1,w:u-2,h:c-2,radius:D}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(v,_,u,c),t.strokeRect(v,_,u,c),t.fillStyle=a.backgroundColor,t.fillRect(b,_+1,u-2,c-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,i,r){const{body:s}=this,{bodySpacing:o,bodyAlign:a,displayColors:l,boxHeight:c,boxWidth:u,boxPadding:d}=r,h=et(r.bodyFont);let f=h.lineHeight,p=0;const g=Ss(r.rtl,this.x,this.width),_=function(k){i.fillText(k,g.x(t.x+p),t.y+f/2),t.y+=f+o},v=g.textAlign(a);let b,D,C,w,M,A,O;for(i.textAlign=a,i.textBaseline="middle",i.font=h.string,t.x=Yc(this,v,r),i.fillStyle=r.bodyColor,pe(this.beforeBody,_),p=l&&"right"!==v?"center"===a?u/2+d:u+2+d:0,w=0,A=s.length;w<A;++w){for(b=s[w],D=this.labelTextColors[w],i.fillStyle=D,pe(b.before,_),C=b.lines,l&&C.length&&(this._drawColorBox(i,t,w,g,r),f=Math.max(h.lineHeight,c)),M=0,O=C.length;M<O;++M)_(C[M]),f=h.lineHeight;pe(b.after,_)}p=0,f=h.lineHeight,pe(this.afterBody,_),t.y-=o}drawFooter(t,i,r){const s=this.footer,o=s.length;let a,l;if(o){const c=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.footerAlign,r),t.y+=r.footerMarginTop,i.textAlign=c.textAlign(r.footerAlign),i.textBaseline="middle",a=et(r.footerFont),i.fillStyle=r.footerColor,i.font=a.string,l=0;l<o;++l)i.fillText(s[l],c.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,i,r,s){const{xAlign:o,yAlign:a}=this,{x:l,y:c}=t,{width:u,height:d}=r,{topLeft:h,topRight:f,bottomLeft:p,bottomRight:g}=xs(s.cornerRadius);i.fillStyle=s.backgroundColor,i.strokeStyle=s.borderColor,i.lineWidth=s.borderWidth,i.beginPath(),i.moveTo(l+h,c),"top"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+u-f,c),i.quadraticCurveTo(l+u,c,l+u,c+f),"center"===a&&"right"===o&&this.drawCaret(t,i,r,s),i.lineTo(l+u,c+d-g),i.quadraticCurveTo(l+u,c+d,l+u-g,c+d),"bottom"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+p,c+d),i.quadraticCurveTo(l,c+d,l,c+d-p),"center"===a&&"left"===o&&this.drawCaret(t,i,r,s),i.lineTo(l,c+h),i.quadraticCurveTo(l,c,l+h,c),i.closePath(),i.fill(),s.borderWidth>0&&i.stroke()}_updateAnimationTarget(t){const i=this.chart,r=this.$animations,s=r&&r.x,o=r&&r.y;if(s||o){const a=ga[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=Qx(this,t),c=Object.assign({},a,this._size),u=eE(i,t,c),d=tE(t,c,u,i);(s._to!==d.x||o._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}draw(t){const i=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(i);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=gt(i.padding);i.enabled&&(this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(o,t,s,i),Uw(t,i.textDirection),o.y+=a.top,this.drawTitle(o,t,i),this.drawBody(o,t,i),this.drawFooter(o,t,i),$w(t,i.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,i){const r=this._active,s=t.map(({datasetIndex:l,index:c})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[c],index:c}}),o=!vc(r,s),a=this._positionChanged(s,i);(o||a)&&(this._active=s,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,i,r=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],a=this._getActiveElements(t,o,i,r),l=this._positionChanged(a,t),c=i||!vc(a,o)||l;return c&&(this._active=a,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,i))),c}_getActiveElements(t,i,r,s){const o=this.options;if("mouseout"===t.type)return[];if(!s)return i;const a=this.chart.getElementsAtEventForMode(t,o.mode,o,r);return o.reverse&&a.reverse(),a}_positionChanged(t,i){const{caretX:r,caretY:s,options:o}=this,a=ga[o.position].call(this,t,i);return!1!==a&&(r!==a.x||s!==a.y)}}return n.positioners=ga,n})();var zU={id:"tooltip",_element:rE,positioners:ga,afterInit(n,e,t){t&&(n.tooltip=new rE({chart:n,options:t}))},beforeUpdate(n,e,t){n.tooltip&&n.tooltip.initialize(t)},reset(n,e,t){n.tooltip&&n.tooltip.initialize(t)},afterDraw(n){const e=n.tooltip,t={tooltip:e};!1!==n.notifyPlugins("beforeTooltipDraw",t)&&(e&&e.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",t))},afterEvent(n,e){n.tooltip&&n.tooltip.handleEvent(e.event,e.replay,e.inChartArea)&&(e.changed=!0)},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,e)=>e.bodyFont.size,boxWidth:(n,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:hi,title(n){if(n.length>0){const e=n[0],t=e.chart.data.labels,i=t?t.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(i>0&&e.dataIndex<i)return t[e.dataIndex]}return""},afterTitle:hi,beforeBody:hi,beforeLabel:hi,label(n){if(this&&this.options&&"dataset"===this.options.mode)return n.label+": "+n.formattedValue||n.formattedValue;let e=n.dataset.label||"";e&&(e+=": ");const t=n.formattedValue;return de(t)||(e+=t),e},labelColor(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:hi,afterBody:hi,beforeFooter:hi,footer:hi,afterFooter:hi}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>"filter"!==n&&"itemSort"!==n&&"external"!==n,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},WU=Object.freeze({__proto__:null,Decimation:fU,Filler:TU,Legend:kU,SubTitle:NU,Title:FU,Tooltip:zU});class Kc extends pr{constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const i=this.getLabels();for(const{index:r,label:s}of t)i[r]===s&&i.splice(r,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(de(e))return null;const i=this.getLabels();return((n,e)=>null===n?null:ot(Math.round(n),0,e))(t=isFinite(t)&&i[t]===e?t:function(n,e,t,i){const r=n.indexOf(e);return-1===r?((n,e,t,i)=>("string"==typeof e?(t=n.push(e)-1,i.unshift({index:t,label:e})):isNaN(e)&&(t=null),t))(n,e,t,i):r!==n.lastIndexOf(e)?t:r}(i,e,K(t,e),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:i,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(i=0),t||(r=this.getLabels().length-1)),this.min=i,this.max=r}buildTicks(){const e=this.min,t=this.max,i=this.options.offset,r=[];let s=this.getLabels();s=0===e&&t===s.length-1?s:s.slice(e,t+1),this._valueRange=Math.max(s.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let o=e;o<=t;o++)r.push({value:o});return r}getLabelForValue(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}}function sE(n,e,{horizontal:t,minRotation:i}){const r=An(i),s=(t?Math.sin(r):Math.cos(r))||.001;return Math.min(e/s,.75*e*(""+n).length)}Kc.id="category",Kc.defaults={ticks:{callback:Kc.prototype.getLabelForValue}};class Jc extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return de(e)||("number"==typeof e||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){const{beginAtZero:e}=this.options,{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=l=>r=t?r:l,a=l=>s=i?s:l;if(e){const l=Yn(r),c=Yn(s);l<0&&c<0?a(0):l>0&&c>0&&o(0)}if(r===s){let l=1;(s>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(.05*s)),a(s+l),e||o(r-l)}this.min=r,this.max=s}getTickLimit(){const e=this.options.ticks;let r,{maxTicksLimit:t,stepSize:i}=e;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),t=t||11),t&&(r=Math.min(t,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let i=this.getTickLimit();i=Math.max(2,i);const o=function(n,e){const t=[],{bounds:r,step:s,min:o,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:h}=n,f=s||1,p=u-1,{min:g,max:_}=e,v=!de(o),b=!de(a),D=!de(c),C=(_-g)/(d+1);let M,A,O,k,w=cw((_-g)/p/f)*f;if(w<1e-14&&!v&&!b)return[{value:g},{value:_}];k=Math.ceil(_/w)-Math.floor(g/w),k>p&&(w=cw(k*w/p/f)*f),de(l)||(M=Math.pow(10,l),w=Math.ceil(w*M)/M),"ticks"===r?(A=Math.floor(g/w)*w,O=Math.ceil(_/w)*w):(A=g,O=_),v&&b&&s&&function(n,e){const t=Math.round(n);return t-e<=n&&t+e>=n}((a-o)/s,w/1e3)?(k=Math.round(Math.min((a-o)/w,u)),w=(a-o)/k,A=o,O=a):D?(A=v?o:A,O=b?a:O,k=c-1,w=(O-A)/k):(k=(O-A)/w,k=Xo(k,Math.round(k),w/1e3)?Math.round(k):Math.ceil(k));const ue=Math.max(dw(w),dw(A));M=Math.pow(10,de(l)?ue:l),A=Math.round(A*M)/M,O=Math.round(O*M)/M;let te=0;for(v&&(h&&A!==o?(t.push({value:o}),A<o&&te++,Xo(Math.round((A+te*w)*M)/M,o,sE(o,C,n))&&te++):A<o&&te++);te<k;++te)t.push({value:Math.round((A+te*w)*M)/M});return b&&h&&O!==a?t.length&&Xo(t[t.length-1].value,a,sE(a,C,n))?t[t.length-1].value=a:t.push({value:a}):(!b||O===a)&&t.push({value:O}),t}({maxTicks:i,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&uw(o,this,"value"),e.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const e=this.ticks;let t=this.min,i=this.max;if(super.configure(),this.options.offset&&e.length){const r=(i-t)/Math.max(e.length-1,1)/2;t-=r,i+=r}this._startValue=t,this._endValue=i,this._valueRange=i-t}getLabelForValue(e){return oa(e,this.chart.options.locale,this.options.ticks.format)}}class Lp extends Jc{determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?e:0,this.max=Be(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,i=An(this.options.ticks.minRotation),r=(e?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,s.lineHeight/r))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}function oE(n){return n/Math.pow(10,Math.floor(dn(n)))==1}Lp.id="linear",Lp.defaults={ticks:{callback:Bc.formatters.numeric}};class Vp extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const i=Jc.prototype.parse.apply(this,[e,t]);if(0!==i)return Be(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?Math.max(0,e):null,this.max=Be(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=e?i:l,o=l=>r=t?r:l,a=(l,c)=>Math.pow(10,Math.floor(dn(l))+c);i===r&&(i<=0?(s(1),o(10)):(s(a(i,-1)),o(a(r,1)))),i<=0&&s(a(r,-1)),r<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&s(a(i,-1)),this.min=i,this.max=r}buildTicks(){const e=this.options,i=function(n,e){const t=Math.floor(dn(e.max)),i=Math.ceil(e.max/Math.pow(10,t)),r=[];let s=cn(n.min,Math.pow(10,Math.floor(dn(e.min)))),o=Math.floor(dn(s)),a=Math.floor(s/Math.pow(10,o)),l=o<0?Math.pow(10,Math.abs(o)):1;do{r.push({value:s,major:oE(s)}),++a,10===a&&(a=1,++o,l=o>=0?1:l),s=Math.round(a*Math.pow(10,o)*l)/l}while(o<t||o===t&&a<i);const c=cn(n.max,s);return r.push({value:c,major:oE(s)}),r}({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&uw(i,this,"value"),e.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(e){return void 0===e?"0":oa(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=dn(e),this._valueRange=dn(this.max)-dn(e)}getPixelForValue(e){return(void 0===e||0===e)&&(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(dn(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function Bp(n){const e=n.ticks;if(e.display&&n.display){const t=gt(e.backdropPadding);return K(e.font&&e.font.size,ae.font.size)+t.height}return 0}function ZU(n,e,t){return t=we(t)?t:[t],{w:aB(n,e.string,t),h:t.length*e.lineHeight}}function aE(n,e,t,i,r){return n===i||n===r?{start:e-t/2,end:e+t/2}:n<i||n>r?{start:e-t,end:e}:{start:e,end:e+t}}function QU(n,e,t,i,r){const s=Math.abs(Math.sin(t)),o=Math.abs(Math.cos(t));let a=0,l=0;i.start<e.l?(a=(e.l-i.start)/s,n.l=Math.min(n.l,e.l-a)):i.end>e.r&&(a=(i.end-e.r)/s,n.r=Math.max(n.r,e.r+a)),r.start<e.t?(l=(e.t-r.start)/o,n.t=Math.min(n.t,e.t-l)):r.end>e.b&&(l=(r.end-e.b)/o,n.b=Math.max(n.b,e.b+l))}function t3(n){return 0===n||180===n?"center":n<180?"left":"right"}function n3(n,e,t){return"right"===t?n-=e:"center"===t&&(n-=e/2),n}function i3(n,e,t){return 90===t||270===t?n-=e/2:(t>270||t<90)&&(n-=e),n}function lE(n,e,t,i){const{ctx:r}=n;if(t)r.arc(n.xCenter,n.yCenter,e,0,_e);else{let s=n.getPointPosition(0,e);r.moveTo(s.x,s.y);for(let o=1;o<i;o++)s=n.getPointPosition(o,e),r.lineTo(s.x,s.y)}}Vp.id="logarithmic",Vp.defaults={ticks:{callback:Bc.formatters.logarithmic,major:{enabled:!0}}};class ma extends Jc{constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=gt(Bp(this.options)/2),t=this.width=this.maxWidth-e.width,i=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+i/2+e.top),this.drawingArea=Math.floor(Math.min(t,i)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=Be(e)&&!isNaN(e)?e:0,this.max=Be(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Bp(this.options))}generateTickLabels(e){Jc.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map((t,i)=>{const r=xe(this.options.pointLabels.callback,[t,i],this);return r||0===r?r:""}).filter((t,i)=>this.chart.getDataVisibility(i))}fit(){const e=this.options;e.display&&e.pointLabels.display?function(n){const e={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},t=Object.assign({},e),i=[],r=[],s=n._pointLabels.length,o=n.options.pointLabels,a=o.centerPointLabels?Ae/s:0;for(let l=0;l<s;l++){const c=o.setContext(n.getPointLabelContext(l));r[l]=c.padding;const u=n.getPointPosition(l,n.drawingArea+r[l],a),d=et(c.font),h=ZU(n.ctx,d,n._pointLabels[l]);i[l]=h;const f=Kt(n.getIndexAngle(l)+a),p=Math.round(rp(f));QU(t,e,f,aE(p,u.x,h.w,0,180),aE(p,u.y,h.h,90,270))}n.setCenterPoint(e.l-t.l,t.r-e.r,e.t-t.t,t.b-e.b),n._pointLabelItems=function(n,e,t){const i=[],r=n._pointLabels.length,s=n.options,o=Bp(s)/2,a=n.drawingArea,l=s.pointLabels.centerPointLabels?Ae/r:0;for(let c=0;c<r;c++){const u=n.getPointPosition(c,a+o+t[c],l),d=Math.round(rp(Kt(u.angle+Fe))),h=e[c],f=i3(u.y,h.h,d),p=t3(d),g=n3(u.x,h.w,p);i.push({x:u.x,y:f,textAlign:p,left:g,top:f,right:g+h.w,bottom:f+h.h})}return i}(n,i,r)}(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,i,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,i,r))}getIndexAngle(e){return Kt(e*(_e/(this._pointLabels.length||1))+An(this.options.startAngle||0))}getDistanceFromCenterForValue(e){if(de(e))return NaN;const t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(de(e))return NaN;const t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){const t=this._pointLabels||[];if(e>=0&&e<t.length){const i=t[e];return function(n,e,t){return Li(n,{label:t,index:e,type:"pointLabel"})}(this.getContext(),e,i)}}getPointPosition(e,t,i=0){const r=this.getIndexAngle(e)-Fe+i;return{x:Math.cos(r)*t+this.xCenter,y:Math.sin(r)*t+this.yCenter,angle:r}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){const{left:t,top:i,right:r,bottom:s}=this._pointLabelItems[e];return{left:t,top:i,right:r,bottom:s}}drawBackground(){const{backgroundColor:e,grid:{circular:t}}=this.options;if(e){const i=this.ctx;i.save(),i.beginPath(),lE(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),i.closePath(),i.fillStyle=e,i.fill(),i.restore()}}drawGrid(){const e=this.ctx,t=this.options,{angleLines:i,grid:r}=t,s=this._pointLabels.length;let o,a,l;if(t.pointLabels.display&&function(n,e){const{ctx:t,options:{pointLabels:i}}=n;for(let r=e-1;r>=0;r--){const s=i.setContext(n.getPointLabelContext(r)),o=et(s.font),{x:a,y:l,textAlign:c,left:u,top:d,right:h,bottom:f}=n._pointLabelItems[r],{backdropColor:p}=s;if(!de(p)){const g=gt(s.backdropPadding);t.fillStyle=p,t.fillRect(u-g.left,d-g.top,h-u+g.width,f-d+g.height)}ur(t,n._pointLabels[r],a,l+o.lineHeight/2,o,{color:s.color,textAlign:c,textBaseline:"middle"})}}(this,s),r.display&&this.ticks.forEach((c,u)=>{0!==u&&(a=this.getDistanceFromCenterForValue(c.value),function(n,e,t,i){const r=n.ctx,s=e.circular,{color:o,lineWidth:a}=e;!s&&!i||!o||!a||t<0||(r.save(),r.strokeStyle=o,r.lineWidth=a,r.setLineDash(e.borderDash),r.lineDashOffset=e.borderDashOffset,r.beginPath(),lE(n,t,s,i),r.closePath(),r.stroke(),r.restore())}(this,r.setContext(this.getContext(u-1)),a,s))}),i.display){for(e.save(),o=s-1;o>=0;o--){const c=i.setContext(this.getPointLabelContext(o)),{color:u,lineWidth:d}=c;!d||!u||(e.lineWidth=d,e.strokeStyle=u,e.setLineDash(c.borderDash),e.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(t.ticks.reverse?this.min:this.max),l=this.getPointPosition(o,a),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,i=t.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach((a,l)=>{if(0===l&&!t.reverse)return;const c=i.setContext(this.getContext(l)),u=et(c.font);if(s=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){e.font=u.string,o=e.measureText(a.label).width,e.fillStyle=c.backdropColor;const d=gt(c.backdropPadding);e.fillRect(-o/2-d.left,-s-u.size/2-d.top,o+d.width,u.size+d.height)}ur(e,a.label,0,-s,u,{color:c.color})}),e.restore()}drawTitle(){}}ma.id="radialLinear",ma.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Bc.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:n=>n,padding:5,centerPointLabels:!1}},ma.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},ma.descriptors={angleLines:{_fallback:"grid"}};const Zc={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},kt=Object.keys(Zc);function a3(n,e){return n-e}function cE(n,e){if(de(e))return null;const t=n._adapter,{parser:i,round:r,isoWeekday:s}=n._parseOpts;let o=e;return"function"==typeof i&&(o=i(o)),Be(o)||(o="string"==typeof i?t.parse(o,i):t.parse(o)),null===o?null:(r&&(o="week"!==r||!Zo(s)&&!0!==s?t.startOf(o,r):t.startOf(o,"isoWeek",s)),+o)}function uE(n,e,t,i){const r=kt.length;for(let s=kt.indexOf(n);s<r-1;++s){const o=Zc[kt[s]],a=o.steps?o.steps:Number.MAX_SAFE_INTEGER;if(o.common&&Math.ceil((t-e)/(a*o.size))<=i)return kt[s]}return kt[r-1]}function dE(n,e,t){if(t){if(t.length){const{lo:i,hi:r}=gp(t,e);n[t[i]>=e?t[i]:t[r]]=!0}}else n[e]=!0}function hE(n,e,t){const i=[],r={},s=e.length;let o,a;for(o=0;o<s;++o)a=e[o],r[a]=o,i.push({value:a,major:!1});return 0!==s&&t?function(n,e,t,i){const r=n._adapter,s=+r.startOf(e[0].value,i),o=e[e.length-1].value;let a,l;for(a=s;a<=o;a=+r.add(a,1,i))l=t[a],l>=0&&(e[l].major=!0);return e}(n,i,r,t):i}let jp=(()=>{class n extends pr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,i){const r=t.time||(t.time={}),s=this._adapter=new kj._date(t.adapters.date);Ko(r.displayFormats,s.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=i.normalized}parse(t,i){return void 0===t?null:cE(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,i=this._adapter,r=t.time.unit||"day";let{min:s,max:o,minDefined:a,maxDefined:l}=this.getUserBounds();function c(u){!a&&!isNaN(u.min)&&(s=Math.min(s,u.min)),!l&&!isNaN(u.max)&&(o=Math.max(o,u.max))}(!a||!l)&&(c(this._getLabelBounds()),("ticks"!==t.bounds||"labels"!==t.ticks.source)&&c(this.getMinMax(!1))),s=Be(s)&&!isNaN(s)?s:+i.startOf(Date.now(),r),o=Be(o)&&!isNaN(o)?o:+i.endOf(Date.now(),r)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(i=t[0],r=t[t.length-1]),{min:i,max:r}}buildTicks(){const t=this.options,i=t.time,r=t.ticks,s="labels"===r.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,l=function(n,e,t){let i=0,r=n.length;for(;i<r&&n[i]<e;)i++;for(;r>i&&n[r-1]>t;)r--;return i>0||r<n.length?n.slice(i,r):n}(s,o,this.max);return this._unit=i.unit||(r.autoSkip?uE(i.minUnit,this.min,this.max,this._getLabelCapacity(o)):function(n,e,t,i,r){for(let s=kt.length-1;s>=kt.indexOf(t);s--){const o=kt[s];if(Zc[o].common&&n._adapter.diff(r,i,o)>=e-1)return o}return kt[t?kt.indexOf(t):0]}(this,l.length,i.minUnit,this.min,this.max)),this._majorUnit=r.major.enabled&&"year"!==this._unit?function(n){for(let e=kt.indexOf(n)+1,t=kt.length;e<t;++e)if(Zc[kt[e]].common)return kt[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&l.reverse(),hE(this,l,this._majorUnit)}initOffsets(t){let s,o,i=0,r=0;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),i=1===t.length?1-s:(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),r=1===t.length?o:(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;i=ot(i,0,a),r=ot(r,0,a),this._offsets={start:i,end:r,factor:1/(i+1+r)}}_generate(){const t=this._adapter,i=this.min,r=this.max,s=this.options,o=s.time,a=o.unit||uE(o.minUnit,i,r,this._getLabelCapacity(i)),l=K(o.stepSize,1),c="week"===a&&o.isoWeekday,u=Zo(c)||!0===c,d={};let f,p,h=i;if(u&&(h=+t.startOf(h,"isoWeek",c)),h=+t.startOf(h,u?"day":a),t.diff(r,i,a)>1e5*l)throw new Error(i+" and "+r+" are too far apart with stepSize of "+l+" "+a);const g="data"===s.ticks.source&&this.getDataTimestamps();for(f=h,p=0;f<r;f=+t.add(f,l,a),p++)dE(d,f,g);return(f===r||"ticks"===s.bounds||1===p)&&dE(d,f,g),Object.keys(d).sort((_,v)=>_-v).map(_=>+_)}getLabelForValue(t){const r=this.options.time;return this._adapter.format(t,r.tooltipFormat?r.tooltipFormat:r.displayFormats.datetime)}_tickFormatFunction(t,i,r,s){const o=this.options,a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=c&&a[c],h=r[i],p=this._adapter.format(t,s||(c&&d&&h&&h.major?d:l&&a[l])),g=o.ticks.callback;return g?xe(g,[p,i,r],this):p}generateTickLabels(t){let i,r,s;for(i=0,r=t.length;i<r;++i)s=t[i],s.label=this._tickFormatFunction(s.value,i,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const i=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((i.start+r)*i.factor)}getValueForPixel(t){const i=this._offsets,r=this.getDecimalForPixel(t)/i.factor-i.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const i=this.options.ticks,r=this.ctx.measureText(t).width,s=An(this.isHorizontal()?i.maxRotation:i.minRotation),o=Math.cos(s),a=Math.sin(s),l=this._resolveTickFontOptions(0).size;return{w:r*o+l*a,h:r*a+l*o}}_getLabelCapacity(t){const i=this.options.time,r=i.displayFormats,s=r[i.unit]||r.millisecond,o=this._tickFormatFunction(t,0,hE(this,[t],this._majorUnit),s),a=this._getLabelSize(o),l=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return l>0?l:1}getDataTimestamps(){let i,r,t=this._cache.data||[];if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(i=0,r=s.length;i<r;++i)t=t.concat(s[i].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let i,r;if(t.length)return t;const s=this.getLabels();for(i=0,r=s.length;i<r;++i)t.push(cE(this,s[i]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Iw(t.sort(a3))}}return n.id="time",n.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}},n})();function Xc(n,e,t){let s,o,a,l,i=0,r=n.length-1;t?(e>=n[i].pos&&e<=n[r].pos&&({lo:i,hi:r}=pi(n,"pos",e)),({pos:s,time:a}=n[i]),({pos:o,time:l}=n[r])):(e>=n[i].time&&e<=n[r].time&&({lo:i,hi:r}=pi(n,"time",e)),({time:s,pos:a}=n[i]),({time:o,pos:l}=n[r]));const c=o-s;return c?a+(l-a)*(e-s)/c:a}class Hp extends jp{constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Xc(t,this.min),this._tableRange=Xc(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:i}=this,r=[],s=[];let o,a,l,c,u;for(o=0,a=e.length;o<a;++o)c=e[o],c>=t&&c<=i&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:i,pos:1}];for(o=0,a=r.length;o<a;++o)u=r[o+1],l=r[o-1],c=r[o],Math.round((u+l)/2)!==c&&s.push({time:c,pos:o/(a-1)});return s}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),i=this.getLabelTimestamps();return e=t.length&&i.length?this.normalize(t.concat(i)):t.length?t:i,e=this._cache.all=e,e}getDecimalForValue(e){return(Xc(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,i=this.getDecimalForPixel(e)/t.factor-t.end;return Xc(this._table,i*this._tableRange+this._minPos,!0)}}Hp.id="timeseries",Hp.defaults=jp.defaults;const h3=[Pj,cU,WU,Object.freeze({__proto__:null,CategoryScale:Kc,LinearScale:Lp,LogarithmicScale:Vp,RadialLinearScale:ma,TimeScale:jp,TimeSeriesScale:Hp})];function fE(n,e){const t=V(n)?n:()=>n,i=r=>r.error(t());return new fe(e?r=>e.schedule(i,0,r):i)}class f3 extends Rt{constructor(e,t){super()}schedule(e,t=0){return this}}const Qc={setInterval(...n){const{delegate:e}=Qc;return((null==e?void 0:e.setInterval)||setInterval)(...n)},clearInterval(n){const{delegate:e}=Qc;return((null==e?void 0:e.clearInterval)||clearInterval)(n)},delegate:void 0},pE={now:()=>(pE.delegate||Date).now(),delegate:void 0};class ya{constructor(e,t=ya.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,i){return new this.schedulerActionCtor(this,e).schedule(i,t)}}ya.now=pE.now;const gE=new class extends ya{constructor(e,t=ya.now){super(e,t),this.actions=[],this._active=!1,this._scheduled=void 0}flush(e){const{actions:t}=this;if(this._active)return void t.push(e);let i;this._active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}(class extends f3{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return Qc.setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;Qc.clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=s||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:e,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,_r(i,this),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}}),m3=gE;function mE(n=0,e,t=m3){let i=-1;return null!=e&&(gg(e)?t=e:i=e),new fe(r=>{let s=function(n){return n instanceof Date&&!isNaN(n)}(n)?+n-t.now():n;s<0&&(s=0);let o=0;return t.schedule(function(){r.closed||(r.next(o++),0<=i?this.schedule(void 0,i):r.complete())},s)})}function Jn(n=1/0){let e;e=n&&"object"==typeof n?n:{count:n};const{count:t=1/0,delay:i,resetOnSuccess:r=!1}=e;return t<=0?vi:je((s,o)=>{let l,a=0;const c=()=>{let u=!1;l=s.subscribe(new Ne(o,d=>{r&&(a=0),o.next(d)},void 0,d=>{if(a++<t){const h=()=>{l?(l.unsubscribe(),l=null,c()):u=!0};if(null!=i){const f="number"==typeof i?mE(i):Zt(i(d,a)),p=new Ne(o,()=>{p.unsubscribe(),h()},()=>{o.complete()});f.subscribe(p)}else h()}else o.error(d)})),u&&(l.unsubscribe(),l=null,c())};c()})}let mr=(()=>{class n{constructor(t){this.http=t,this.apiUrl="https://localhost:3000/api"}dbInsert(){return this.http.post(`${this.apiUrl}/db-insert`,"").pipe(Jn(1),st(this.handleError))}dbDelete(){return this.http.delete(`${this.apiUrl}/db-delete`).pipe(Jn(1),st(this.handleError))}signIn(t){return this.http.post(`${this.apiUrl}/sign-in`,t).pipe(Jn(1),st(this.handleError))}signUpUser(t){return this.http.post(`${this.apiUrl}/sign-up-user`,{first_name:t.first_name,last_name:t.last_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}signUpCompany(t){return this.http.post(`${this.apiUrl}/sign-up-company`,{company_name:t.company_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}decodeToken(){const t=`${this.apiUrl}/token-decode`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}getToken(){const t=localStorage.getItem("jobhub_token");return null===t?"":t}autofindJob(){const t=`${this.apiUrl}/joboffers/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}autofindCV(){const t=`${this.apiUrl}/cvs/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}sendResult(t,i){const r=`${this.apiUrl}/results`,s=(new Tt).append("authorization",this.getToken());return this.http.post(r,{result:t,shown_id:i},{headers:s}).pipe(Jn(0),st(this.handleError))}handleError(t){return fE(()=>`Error '${t.status}' with description:'${t.error.message||t.statusText}'`)}getJoke(){const t=new Tt;return this.http.get("https://api.jokes.one/jod",{headers:t}).pipe(Jn(1),st(this.handleError))}}return n.\u0275fac=function(t){return new(t||n)(P(WC))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),_3=(()=>{class n{constructor(t,i){this.router=t,this.jobhubDataService=i}saveToken(t){const i=JSON.parse(t);localStorage.setItem("jobhub_token","Bearer "+i.access_token)}checkIfSignedIn(){if(localStorage.getItem("jobhub_token")){const t=this.router;this.jobhubDataService.decodeToken().subscribe({next(i){const r=JSON.parse(JSON.stringify(i));"USER"===r.user_role?t.navigateByUrl("user-main"):"COMPANY"===r.user_role&&t.navigateByUrl("company-main")}})}}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(mr))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const v3=["addListener","removeListener"],b3=["addEventListener","removeEventListener"],C3=["on","off"];function Is(n,e,t,i){if(V(t)&&(i=t,t=void 0),i)return Is(n,e,t).pipe(pf(i));const[r,s]=function(n){return V(n.addEventListener)&&V(n.removeEventListener)}(n)?b3.map(o=>a=>n[o](e,a,t)):function(n){return V(n.addListener)&&V(n.removeListener)}(n)?v3.map(yE(n,e)):function(n){return V(n.on)&&V(n.off)}(n)?C3.map(yE(n,e)):[];if(!r&&cu(n))return He(o=>Is(o,e,t))(Zt(n));if(!r)throw new TypeError("Invalid event target");return new fe(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function yE(n,e){return t=>i=>n[t](e,i)}let E3=(()=>{class n{constructor(){this.isConnected=!1,Ea(Is(window,"offline").pipe(Z(()=>!1)),Is(window,"online").pipe(Z(()=>!0)),new fe(t=>{t.next(navigator.onLine),t.complete()})).subscribe(t=>this.isConnected=t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();gr.register(...h3);const M3=[{path:"",component:(()=>{class n{constructor(t,i,r){this.jobhubDataService=t,this.signInService=i,this.connectinService=r,this.signInData={email:"",password:""},this.joke=""}onSignIn(){const t=this.signInService;this.jobhubDataService.signIn(this.signInData).subscribe({next(i){t.saveToken(JSON.stringify(i)),t.checkIfSignedIn()}})}isConnected(){return this.connectinService.isConnected}ngOnInit(){this.signInService.checkIfSignedIn(),this.jobhubDataService.getJoke().subscribe(o=>{this.joke=o.contents.jokes[0].joke.text}),console.log(this.joke),new gr("jobChart",{type:"bar",data:{labels:["Full Stack Web Developer","Back End Web Developer","Front End Web Developer","Other","Desktop Developer","Team Leader","Chief Technology Officer","Mobile Developer","Project Manager","DevOps","Embedded Developer","Machine Learning Specialist","Consultant","System Administrator","Developer","System Integrator","Data Administrator","UI/UX Developer","Game Developer"],datasets:[{label:"jobs",data:[364,276,148,87,70,63,50,68,43,42,37,34,31,28,22,21,17,15,14],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("languageChart",{type:"bar",data:{labels:["SQL","JavaScript","HTML/CSS","Python","Java","C#","TypeScript","PHP","Bash","C++","C","Go","Kotlin","Swift","Objective C","Ruby","Perl","Scala"],datasets:[{label:"languages",data:[1053,978,975,613,590,515,464,445,307,261,233,131,94,60,49,38,26,26],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("salaryChart",{type:"bar",data:{labels:["< 1024.25 \u20ac","1024.26 \u20ac - 1499.99 \u20ac","1500.00 \u20ac - 1999.99 \u20ac","2000.00 \u20ac - 2499.99 \u20ac","3000.00 \u20ac - 3499.99 \u20ac","3500.00 \u20ac - 3999.99 \u20ac","4000.00 \u20ac - 4499.99 \u20ac","4500.00 \u20ac - 4999.99 \u20ac","5000.00 \u20ac - 5499.99 \u20ac","5500.00 \u20ac - 6499.99 \u20ac","6500.00 \u20ac - 7499.99 \u20ac","7500.00 \u20ac - 7999.99 \u20ac","8000.00 \u20ac - 8499.99 \u20ac","> 8500.00 \u20ac"],datasets:[{label:"gross salary",data:[14,31,124,203,200,156,96,66,54,23,12,5,5,19],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("ageChart",{type:"bar",data:{labels:["< 18 y.o.","19 y.o. - 25 y.o.","26 y.o. - 30 y.o.","31 y.o. - 40 y.o.","41 y.o. - 50 y.o.","> 50 y.o."],datasets:[{label:"age",data:[3,302,473,532,103,18],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}})}}return n.\u0275fac=function(t){return new(t||n)(x(mr),x(_3),x(E3))},n.\u0275cmp=On({type:n,selectors:[["app-index"]],decls:93,vars:3,consts:[["src","../../../assets/images/background.jpg","alt","background",1,"backgroundImage"],[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","./",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse","headerCollapseOptions"],[1,"navbar-nav","ms-auto","pt-md-0","ps-md-0","pb-md-0","pt-3","pb-3","ps-3"],[1,"nav-item"],["aria-current","page","href","./sign-in",1,"nav-link"],[1,"headerOptions"],["href","./sign-up",1,"nav-link"],["type","button","data-bs-toggle","modal","data-bs-target","#exampleModal",1,"nav-link",2,"background","none","border","none"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-lg-5","heading","align-content-center","pt-lg-5"],[1,"col-12","col-lg-7","align-content-center","mt-3","pt-3","pb-3"],[1,"text-center"],["method","POST","action","/sign-in"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","id","indexInputEmail","name","email","required","",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","indexInputPassword1",1,"form-label"],["type","password","id","indexInputPassword1","name","password","required","",1,"form-control",3,"ngModel","ngModelChange"],["password",""],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","indexOrJoinNow","indexSingUp"],[1,"col-5"],[1,"col-2"],[1,"mt-4"],["href","./sign-up","role","button",1,"submit","btn","btn-primary"],[1,"col-12","pt-3","pt-md-5"],[1,"col-12","col-md-10","col-lg-5","mt-3"],["baseChart","","id","jobChart","width","400","height","300"],["id","languageChart","width","400","height","300"],["id","salaryChart","width","400","height","300"],["id","ageChart","width","400","height","300"],["id","exampleModal","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","exampleModalLabel",1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[2,"font-size","115%"],[2,"font-size","125%"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary",2,"width","auto","height","auto","background","#ea2e64","border","1px solid #ea2e64"],["href","mailto:vid.slovenia7@gmail.com","type","button",1,"submit","btn","btn-primary",2,"width","auto","height","auto"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),Q(1,"img",0),m(2,"header"),m(3,"nav",1),m(4,"div",2),m(5,"a",3),m(6,"span",4),Q(7,"img",5),y(),y(),m(8,"button",6),Q(9,"span",7),y(),m(10,"div",8),m(11,"ul",9),m(12,"li",10),m(13,"a",11),m(14,"span",12),S(15,"Sign in"),y(),y(),y(),m(16,"li",10),m(17,"a",13),m(18,"span",12),S(19,"Sign up"),y(),y(),y(),m(20,"li",10),m(21,"button",14),m(22,"span",12),S(23,"Contact"),y(),y(),y(),y(),y(),y(),y(),y(),m(24,"div",15),m(25,"div",16),m(26,"div",17),m(27,"p"),S(28,"a simple swipe to "),m(29,"b"),S(30,"get a job"),y(),S(31,"."),y(),y(),m(32,"div",18),m(33,"div",19),m(34,"form",20),m(35,"div",21),m(36,"label",22),S(37,"Email"),y(),m(38,"input",23,24),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(40,"div",21),m(41,"label",25),S(42,"Password"),y(),m(43,"input",26,27),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(45,"div",28),m(46,"button",29),q("click",function(){return i.onSignIn()}),S(47," Sign in "),y(),y(),y(),y(),m(48,"div",30),m(49,"div",16),m(50,"div",31),Q(51,"hr"),y(),m(52,"div",32),S(53,"or"),y(),m(54,"div",31),Q(55,"hr"),y(),y(),y(),m(56,"div",30),m(57,"div",33),m(58,"a",34),S(59,"Sign up"),y(),y(),y(),y(),m(60,"div",35),m(61,"div",16),m(62,"div",36),Q(63,"canvas",37),y(),m(64,"div",36),Q(65,"canvas",38),y(),m(66,"div",36),Q(67,"canvas",39),y(),m(68,"div",36),Q(69,"canvas",40),y(),y(),y(),y(),y(),m(70,"div",16),m(71,"div",41),m(72,"div",42),m(73,"div",43),m(74,"div",44),m(75,"h5",45),S(76," We are hiring. Contact us! "),y(),Q(77,"button",46),y(),m(78,"div",47),m(79,"div",48),S(80,"Joke of the day"),y(),m(81,"div",49),S(82),y(),y(),m(83,"div",50),m(84,"button",51),S(85," Close "),y(),m(86,"a",52),S(87,"Send message"),y(),y(),y(),y(),y(),y(),m(88,"footer"),m(89,"a",53),m(90,"span",54),Q(91,"img",5),y(),y(),S(92," \xa92021 "),y(),y()),2&t&&(re(38),Ze("ngModel",i.signInData.email),re(5),Ze("ngModel",i.signInData.password),re(39),Wt(i.joke))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["body[_ngcontent-%COMP%]{overflow-x:hidden}form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:420px}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.content-container[_ngcontent-%COMP%]{min-height:1321px!important}.backgroundImage[_ngcontent-%COMP%]{position:absolute;right:42px;top:100px;z-index:-1}.heading[_ngcontent-%COMP%]{font-size:350%;text-align:right;color:var(--primaryColor)}.heading[_ngcontent-%COMP%]   b[_ngcontent-%COMP%]{color:var(--secondaryColor)}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:auto;padding-top:50px;width:80%}@media handheld and (max-width: 1370px),screen and (max-device-width: 1370px),screen and (max-width: 1370px){body[_ngcontent-%COMP%]{position:relative}.backgroundImage[_ngcontent-%COMP%]{right:-170px;top:100px}}@media handheld and (max-width: 1400px),screen and (max-device-width: 1400px),screen and (max-width: 1400px){.heading[_ngcontent-%COMP%]{font-size:325%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{padding-top:15px}}@media handheld and (max-width: 992px),screen and (max-device-width: 992px),screen and (max-width: 992px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{margin:auto}.heading[_ngcontent-%COMP%]{font-size:300%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:60%;margin:auto}.heading[_ngcontent-%COMP%]{text-align:center}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:90%}.heading[_ngcontent-%COMP%]{width:420px;margin:auto}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 700px),screen and (max-device-width: 700px),screen and (max-width: 700px){.backgroundImage[_ngcontent-%COMP%]{display:none}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:85%}}"]}),n})()},{path:"sign-in",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signInData={email:"",password:""}}onSignIn(){this.jobhubDataService.signIn(this.signInData).subscribe(()=>{console.log(this.signInData)})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-in"]],decls:58,vars:2,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","name","email","id","indexInputEmail","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signInInputPassword1",1,"form-label"],["type","password","name","password","id","signInInputPassword1","required","",1,"form-control",3,"ngModel","ngModelChange"],[1,"mb-4"],["type","submit","id","cfa-signin",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","signInOr"],[1,"col-5"],[1,"col-2"],[1,"text-center","signInJoinWith"],[1,"mt-4"],["href","#","role","button",1,"joinOther","joinGoogle","btn","btn-primary"],[1,"fab","fa-google","me-3"],[1,"mt-3"],["href","#","role","button",1,"joinOther","joinApple","btn","btn-primary"],[1,"fab","fa-apple","me-3"],[1,"mt-3","mb-4"],["href","#","role","button",1,"joinOther","joinFacebook","btn","btn-primary"],[1,"fab","fa-facebook","me-3"],["href","sign-up","role","button",1,"submit","btn","btn-primary"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"div",8),m(11,"form",9),m(12,"div",10),m(13,"label",11),S(14,"Email"),y(),m(15,"input",12),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(16,"div",10),m(17,"label",13),S(18,"Password"),y(),m(19,"input",14),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(20,"div",15),m(21,"button",16),q("click",function(){return i.onSignIn()}),S(22," Sign in "),y(),y(),y(),y(),m(23,"div",17),m(24,"div",6),m(25,"div",18),Q(26,"hr"),y(),m(27,"div",19),S(28,"or"),y(),m(29,"div",18),Q(30,"hr"),y(),y(),y(),m(31,"div",20),m(32,"div",21),m(33,"a",22),Q(34,"i",23),S(35," Join with Google"),y(),y(),m(36,"div",24),m(37,"a",25),Q(38,"i",26),S(39," Join with Apple"),y(),y(),m(40,"div",27),m(41,"a",28),Q(42,"i",29),S(43," Join with Facebook"),y(),y(),y(),m(44,"div",17),Q(45,"hr"),y(),m(46,"div",17),m(47,"div"),m(48,"p"),S(49,"Don't have account? Join now!"),y(),y(),m(50,"div",24),m(51,"a",30),S(52,"Sign up"),y(),y(),y(),y(),y(),y(),m(53,"footer"),m(54,"a",31),m(55,"span",32),Q(56,"img",4),y(),y(),S(57," \xa9 "),y(),y()),2&t&&(re(15),Ze("ngModel",i.signInData.email),re(4),Ze("ngModel",i.signInData.password))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.joinGoogle[_ngcontent-%COMP%], .joinApple[_ngcontent-%COMP%], .joinFacebook[_ngcontent-%COMP%]{font-weight:700;width:100%;border:0;height:var(--standardHeight)}.joinGoogle[_ngcontent-%COMP%]{background:transparent!important;border:1px solid var(--borderColor);color:var(--primaryFontColor)}.joinApple[_ngcontent-%COMP%]{background:black!important;color:#fff;border:0}.joinFacebook[_ngcontent-%COMP%]{background:#3b5998!important;color:#fff;border:0}.joinGoogle[_ngcontent-%COMP%]:hover, .joinGoogle[_ngcontent-%COMP%]:active, .joinGoogle[_ngcontent-%COMP%]:focus{background:#e2e2e2!important;border:0;color:var(--primaryFontColor);box-shadow:none!important}.joinApple[_ngcontent-%COMP%]:hover, .joinApple[_ngcontent-%COMP%]:active, .joinApple[_ngcontent-%COMP%]:focus{background:#333!important;box-shadow:none!important;color:#fff}.joinFacebook[_ngcontent-%COMP%]:hover, .joinFacebook[_ngcontent-%COMP%]:active, .joinFacebook[_ngcontent-%COMP%]:focus{background:#3a61b3!important;box-shadow:none!important;color:#fff}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"sign-up",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signUpDataUser={first_name:"",last_name:"",email:"",industry:"",password:"",confirm_password:""},this.signUpDataCompany={company_name:"",email:"",industry:"",password:"",confirm_password:""}}onSignUpUser(){this.jobhubDataService.signUpUser(this.signUpDataUser).subscribe(()=>{console.log(this.signUpDataUser)})}onSignUpCompany(){this.jobhubDataService.signUpCompany(this.signUpDataCompany).subscribe(()=>{console.log(this.signUpDataCompany)})}isDataUser(){return!(this.validateMailUser()&&this.validatePasswordUser())}validateMailUser(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataUser.email)}validatePasswordUser(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataUser.password)||this.signUpDataUser.password!==this.signUpDataUser.confirm_password)}isDataCompany(){return!(this.validateMailCompany()&&this.validatePasswordCompany())}validateMailCompany(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataCompany.email)}validatePasswordCompany(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataCompany.password)||this.signUpDataCompany.password!==this.signUpDataCompany.confirm_password)}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-up"]],decls:89,vars:13,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","pe-md-3","pe-xl-5","signUpUser"],[1,"signUpJoinAs"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3","col-12","col-lg-6"],["for","signUpUserInputFirstName",1,"form-label"],["type","text","name","first_name","required","","id","signUpUserInputFirstName",1,"form-control",3,"ngModel","ngModelChange"],["first_name",""],["for","signUpUserInputLastName",1,"form-label"],["type","text","name","last_name","required","","id","signUpUserInputLastName",1,"form-control",3,"ngModel","ngModelChange"],["last_name",""],["for","signUpUserInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpUserInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","signUpUserInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpUserInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["industry",""],["for","signUpUserInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpUserInputPassword",1,"form-control",3,"ngModel","ngModelChange"],["password",""],["for","signUpUserInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpUserInputConfirmPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["confirm_password",""],[1,"mb-4"],["type","hidden","name","user_role","value","USER"],["type","submit",1,"submit","btn","btn-primary",3,"disabled","click"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","ps-md-3","ps-xl-5"],[1,"mb-3","col-12"],["for","signUpCompanyInputName",1,"form-label"],["type","text","name","username","required","","id","signUpCompanyInputName",1,"form-control",3,"ngModel","ngModelChange"],["username",""],["for","signUpCompanyInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpCompanyInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpCompanyInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpCompanyInputPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpCompanyInputConfirmPassword",1,"form-control",3,"ngModel","ngModelChange"],["type","hidden","name","user_role","value","COMPANY"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"p",8),S(11,"Join as User"),y(),m(12,"div",9),m(13,"form",10),m(14,"div",6),m(15,"div",11),m(16,"label",12),S(17,"First name"),y(),m(18,"input",13,14),q("ngModelChange",function(s){return i.signUpDataUser.first_name=s}),y(),y(),m(20,"div",11),m(21,"label",15),S(22,"Last name"),y(),m(23,"input",16,17),q("ngModelChange",function(s){return i.signUpDataUser.last_name=s}),y(),y(),m(25,"div",11),m(26,"label",18),S(27,"Email"),y(),m(28,"input",19,20),q("ngModelChange",function(s){return i.signUpDataUser.email=s}),y(),y(),m(30,"div",11),m(31,"label",21),S(32,"Industry"),y(),m(33,"input",22,23),q("ngModelChange",function(s){return i.signUpDataUser.industry=s}),y(),y(),m(35,"div",11),m(36,"label",24),S(37,"Password"),y(),m(38,"input",25,26),q("ngModelChange",function(s){return i.signUpDataUser.password=s}),y(),y(),m(40,"div",11),m(41,"label",27),S(42,"Confirm password"),y(),m(43,"input",28,29),q("ngModelChange",function(s){return i.signUpDataUser.confirm_password=s}),y(),y(),m(45,"div",30),Q(46,"input",31),m(47,"button",32),q("click",function(){return i.onSignUpUser()}),S(48," Sign up as User "),y(),y(),y(),y(),y(),y(),m(49,"div",33),m(50,"p",8),S(51,"Join as Company"),y(),m(52,"div",9),m(53,"form",10),m(54,"div",6),m(55,"div",34),m(56,"label",35),S(57,"Name"),y(),m(58,"input",36,37),q("ngModelChange",function(s){return i.signUpDataCompany.company_name=s}),y(),y(),m(60,"div",11),m(61,"label",38),S(62,"Email"),y(),m(63,"input",39,20),q("ngModelChange",function(s){return i.signUpDataCompany.email=s}),y(),y(),m(65,"div",11),m(66,"label",40),S(67,"Industry"),y(),m(68,"input",41,23),q("ngModelChange",function(s){return i.signUpDataCompany.industry=s}),y(),y(),m(70,"div",11),m(71,"label",42),S(72,"Password"),y(),m(73,"input",43,26),q("ngModelChange",function(s){return i.signUpDataCompany.password=s}),y(),y(),m(75,"div",11),m(76,"label",44),S(77,"Confirm password"),y(),m(78,"input",45,29),q("ngModelChange",function(s){return i.signUpDataCompany.confirm_password=s}),y(),y(),m(80,"div",30),Q(81,"input",46),m(82,"button",32),q("click",function(){return i.onSignUpCompany()}),S(83," Sign up as Company "),y(),y(),y(),y(),y(),y(),y(),y(),m(84,"footer"),m(85,"a",47),m(86,"span",48),Q(87,"img",4),y(),y(),S(88," \xa92021 "),y(),y()),2&t&&(re(18),Ze("ngModel",i.signUpDataUser.first_name),re(5),Ze("ngModel",i.signUpDataUser.last_name),re(5),Ze("ngModel",i.signUpDataUser.email),re(5),Ze("ngModel",i.signUpDataUser.industry),re(5),Ze("ngModel",i.signUpDataUser.password),re(5),Ze("ngModel",i.signUpDataUser.confirm_password),re(4),Ze("disabled",i.isDataUser()),re(11),Ze("ngModel",i.signUpDataCompany.company_name),re(5),Ze("ngModel",i.signUpDataCompany.email),re(5),Ze("ngModel",i.signUpDataCompany.industry),re(5),Ze("ngModel",i.signUpDataCompany.password),re(5),Ze("ngModel",i.signUpDataCompany.confirm_password),re(4),Ze("disabled",i.isDataCompany()))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:[".submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:42%;border:0;height:var(--standardHeight);height:100%}.signUpUser[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.signUpJoinAs[_ngcontent-%COMP%]{text-align:center;font-size:150%;margin-bottom:5%}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){form[_ngcontent-%COMP%]{width:420px;margin:auto}.signUpUser[_ngcontent-%COMP%]{border-right:0}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"user-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownOfferId="0",this.company="",this.email="",this.phone="",this.country="",this.title="",this.description="",this.expectations="",this.other=""}ngOnInit(){this.getJobOffer()}onSignOut(){localStorage.clear()}getJobOffer(){let t=this;this.jobhubDataService.autofindJob().subscribe({next(i){t.company="",t.email="",t.phone="",t.country="",t.title="",t.description="",t.expectations="",t.other="",void 0===i.offer_id?(t.shownOfferId="0",t.showFail()):(t.unfail(),t.shownOfferId=i.offer_id,t.title=i.title,t.description=i.description,t.expectations=i.expectations,t.other=i.other,t.company=i.username,t.email=i.email,t.phone=i.phone_number,t.country=i.country)}})}showFail(){let t=document.getElementById("fail");null!==t&&(t.style.display="block"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="none"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="none"),t=document.getElementById("title-other"),null!==t&&(t.style.display="none")}unfail(){let t=document.getElementById("fail");null!==t&&(t.style.display="none"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="block"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="block"),t=document.getElementById("title-other"),null!==t&&(t.style.display="block")}postResult(t){this.jobhubDataService.sendResult(t,this.shownOfferId).subscribe({next(r){console.log(r)}})}onAccept(){"0"!==this.shownOfferId&&this.postResult(1),this.getJobOffer()}onDecline(){"0"!==this.shownOfferId&&this.postResult(0),this.getJobOffer()}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-user-main"]],decls:76,vars:8,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./user-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./resume-preview","aria-current","page",1,"nav-link"],["href","./user-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],[1,"job-description","col-md-6"],["id","title-desc"],["id","description"],["id","title-expectations"],["id","expectations"],["id","title-other"],["id","other"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./user-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit resume"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Company name"),y(),m(34,"h4"),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Email"),y(),m(39,"h4"),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Phone number"),y(),m(44,"h4"),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Country"),y(),m(49,"h4"),S(50),y(),y(),y(),m(51,"div",22),m(52,"h5"),S(53),y(),m(54,"p",23),S(55,"Description"),y(),m(56,"p",24),S(57),y(),m(58,"p",25),S(59,"Expectations"),y(),m(60,"p",26),S(61),y(),m(62,"p",27),S(63,"Other"),y(),m(64,"p",28),S(65),y(),m(66,"p",29),S(67,"No more job offers to show!"),y(),y(),y(),y(),y(),m(68,"div",15),m(69,"button",16),q("click",function(){return i.onAccept()}),Q(70,"i",30),y(),y(),y(),y(),m(71,"footer"),m(72,"a",31),m(73,"span",32),Q(74,"img",4),y(),y(),S(75," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.company),re(5),Wt(i.email),re(5),Wt(i.phone),re(5),Wt(i.country),re(3),Wt(i.title),re(4),$n(" ",i.description," "),re(4),$n(" ",i.expectations," "),re(4),$n(" ",i.other," "))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.job-description[_ngcontent-%COMP%]{padding:2em;height:100%;overflow:auto}.job-description[_ngcontent-%COMP%] > h4[_ngcontent-%COMP%]{text-align:center;margin-bottom:1em}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.poster-contact[_ngcontent-%COMP%]{padding-top:40px}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"company-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownCvId="0",this.name="",this.gender="",this.email="",this.phone="",this.about="",this.expirience="",this.projects="",this.skills="",this.education=""}ngOnInit(){this.getCV()}onSignOut(){localStorage.clear()}getCV(){let t=this;this.jobhubDataService.autofindCV().subscribe({next(i){if(t.name="",t.gender="",t.email="",t.phone="",t.about="",void 0===i.cv_id)t.shownCvId="0",t.showFail();else{t.unFail(),t.shownCvId=i.cv_id,t.name=i.first_name+" "+i.last_name,t.gender=t.upperCaseFirstLetter(i.gender.key.toLowerCase()),t.email=i.email,t.phone=i.phone_number,t.about=i.about;let r=!0;t.expirience="",i.experience.forEach(s=>{r||(t.expirience+=","),t.expirience+=" "+s.company,r=!1}),r=!0,t.projects="",i.projects.forEach(s=>{r||(t.projects+=","),t.projects+=" "+s.name,r=!1}),r=!0,t.skills="",i.skills.forEach(s=>{r||(t.skills+=","),t.skills+=" "+s.name,r=!1}),r=!0,t.education="",i.education.forEach(s=>{r||(t.education+=","),t.education+=" "+s.description,r=!1})}}})}showFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="none"),t=document.getElementById("projects"),null!==t&&(t.style.display="none"),t=document.getElementById("skills"),null!==t&&(t.style.display="none"),t=document.getElementById("education"),null!==t&&(t.style.display="none"),t=document.getElementById("fail"),null!==t&&(t.style.display="block")}unFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="block"),t=document.getElementById("projects"),null!==t&&(t.style.display="block"),t=document.getElementById("skills"),null!==t&&(t.style.display="block"),t=document.getElementById("education"),null!==t&&(t.style.display="block"),t=document.getElementById("fail"),null!==t&&(t.style.display="none")}postResult(t){this.jobhubDataService.sendResult(t,this.shownCvId).subscribe({next(i){console.log(i)}})}onAccept(){console.log(this.shownCvId),"0"!==this.shownCvId&&this.postResult(1),this.getCV()}onDecline(){"0"!==this.shownCvId&&this.postResult(0),this.getCV()}upperCaseFirstLetter(t){return t.charAt(0).toUpperCase()+t.slice(1)}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-company-main"]],decls:72,vars:9,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./company-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./job-preview","aria-current","page",1,"nav-link"],["href","./company-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],["id","name"],["id","gender"],["id","email"],["id","phone"],[1,"cv-text","col-md-6"],["id","about"],["id","experience"],["id","projects"],["id","skills"],["id","education"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./company-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit job offers"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Name"),y(),m(34,"h4",22),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Gender"),y(),m(39,"h4",23),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Email"),y(),m(44,"h4",24),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Phone number"),y(),m(49,"h4",25),S(50),y(),y(),y(),m(51,"div",26),m(52,"p",27),S(53),y(),m(54,"p",28),S(55),y(),m(56,"p",29),S(57),y(),m(58,"p",30),S(59),y(),m(60,"p",31),S(61),y(),m(62,"p",32),S(63,"No more resumes to show!"),y(),y(),y(),y(),y(),m(64,"div",15),m(65,"button",16),q("click",function(){return i.onAccept()}),Q(66,"i",33),y(),y(),y(),y(),m(67,"footer"),m(68,"a",34),m(69,"span",35),Q(70,"img",4),y(),y(),S(71," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.name),re(5),Wt(i.gender),re(5),Wt(i.email),re(5),Wt(i.phone),re(3),Wt(i.about),re(2),$n("Expirience: ",i.expirience,""),re(2),$n("Projects: ",i.projects,""),re(2),$n("Skills: ",i.skills,""),re(2),$n("Education: ",i.education,""))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{background-color:#fff;border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.cv-text[_ngcontent-%COMP%]{padding:60px 0 2em 2em;height:100%;overflow:auto}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"db",component:(()=>{class n{constructor(t){this.jobhubDataService=t}insert(){this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database populated")})}delete(){this.jobhubDataService.dbDelete().subscribe(()=>{alert("Database cleaned")})}reset(){this.jobhubDataService.dbDelete().subscribe(()=>{}),this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database reset")})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-db"]],decls:24,vars:0,consts:[[1,"adminSignIn"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off","action","/db-insert"],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],["method","post","autocomplete","off","action","/db-delete"],["method","post","autocomplete","off","action","/db-reset"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"div",0),Q(2,"img",1),y(),m(3,"div",2),m(4,"div",3),m(5,"div",4),m(6,"div",5),m(7,"form",6),m(8,"div",7),m(9,"button",8),q("click",function(){return i.insert()}),S(10," Insert Data "),y(),y(),y(),m(11,"form",9),m(12,"div",7),m(13,"button",8),q("click",function(){return i.delete()}),S(14," Erase Data "),y(),y(),y(),m(15,"form",10),m(16,"div",7),m(17,"button",8),q("click",function(){return i.reset()}),S(18," Reset Data "),y(),y(),y(),y(),y(),y(),y(),m(19,"footer"),m(20,"a",11),m(21,"span",12),Q(22,"img",1),y(),y(),S(23," \xa92021 "),y(),y())},directives:[Fo,Io,tr],styles:[".content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 150px - 125px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{display:block;margin:150px auto 0;height:125px}form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}.content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 100px - 100px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{height:100px;margin-top:100px}}"]}),n})()}];let S3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[Q0.forRoot(M3,{enableTracing:!0})],Q0]}),n})(),A3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["app-wrapper"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],styles:[""]}),n})();const ji=new fe(vr),T3={connector:()=>new Jt};function _E(n,e=T3){const{connector:t}=e;return je((i,r)=>{const s=t();Ye(n(function(n){return new fe(e=>n.subscribe(e))}(s))).subscribe(r),r.add(i.subscribe(s))})}function vE(n,e){return e?t=>No(e.pipe(Xt(1),je((n,e)=>{n.subscribe(new Ne(e,vr))})),t.pipe(vE(n))):He((t,i)=>n(t,i).pipe(Xt(1),function(n){return Z(()=>n)}(t)))}const _a="Service workers are disabled or not supported by this browser";class eu{constructor(e){if(this.serviceWorker=e,e){const i=Is(e,"controllerchange").pipe(Z(()=>e.controller)),s=No(ic(()=>j(e.controller)),i);this.worker=s.pipe(Yt(u=>!!u)),this.registration=this.worker.pipe(Sn(()=>e.getRegistration()));const c=Is(e,"message").pipe(Z(u=>u.data)).pipe(Yt(u=>u&&u.type)).pipe(function(n){return n?e=>_E(n)(e):e=>function(n,e){const t=V(n)?n:()=>n;return V(e)?_E(e,{connector:t}):i=>new XD(i,t)}(new Jt)(e)}());c.connect(),this.events=c}else this.worker=this.events=this.registration=(_a,ic(()=>fE(new Error("Service workers are disabled or not supported by this browser"))))}postMessage(e,t){return this.worker.pipe(Xt(1),Ot(i=>{i.postMessage(Object.assign({action:e},t))})).toPromise().then(()=>{})}postMessageWithOperation(e,t,i){const r=this.waitForOperationCompleted(i),s=this.postMessage(e,t);return Promise.all([s,r]).then(([,o])=>o)}generateNonce(){return Math.round(1e7*Math.random())}eventsOfType(e){let t;return t="string"==typeof e?i=>i.type===e:i=>e.includes(i.type),this.events.pipe(Yt(t))}nextEventOfType(e){return this.eventsOfType(e).pipe(Xt(1))}waitForOperationCompleted(e){return this.eventsOfType("OPERATION_COMPLETED").pipe(Yt(t=>t.nonce===e),Xt(1),Z(t=>{if(void 0!==t.result)return t.result;throw new Error(t.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}}let L3=(()=>{class n{constructor(t){if(this.sw=t,this.subscriptionChanges=new Jt,!t.isEnabled)return this.messages=ji,this.notificationClicks=ji,void(this.subscription=ji);this.messages=this.sw.eventsOfType("PUSH").pipe(Z(r=>r.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Z(r=>r.data)),this.pushManager=this.sw.registration.pipe(Z(r=>r.pushManager));const i=this.pushManager.pipe(Sn(r=>r.getSubscription()));this.subscription=Ea(i,this.subscriptionChanges)}get isEnabled(){return this.sw.isEnabled}requestSubscription(t){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const i={userVisibleOnly:!0};let r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),s=new Uint8Array(new ArrayBuffer(r.length));for(let o=0;o<r.length;o++)s[o]=r.charCodeAt(o);return i.applicationServerKey=s,this.pushManager.pipe(Sn(o=>o.subscribe(i)),Xt(1)).toPromise().then(o=>(this.subscriptionChanges.next(o),o))}unsubscribe(){return this.sw.isEnabled?this.subscription.pipe(Xt(1),Sn(i=>{if(null===i)throw new Error("Not subscribed to push notifications.");return i.unsubscribe().then(r=>{if(!r)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})})).toPromise():Promise.reject(new Error(_a))}decodeBase64(t){return atob(t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),V3=(()=>{class n{constructor(t){if(this.sw=t,!t.isEnabled)return this.versionUpdates=ji,this.available=ji,this.activated=ji,void(this.unrecoverable=ji);this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY"]),this.available=this.versionUpdates.pipe(Yt(i=>"VERSION_READY"===i.type),Z(i=>({type:"UPDATE_AVAILABLE",current:i.currentVersion,available:i.latestVersion}))),this.activated=this.sw.eventsOfType("UPDATE_ACTIVATED"),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}get isEnabled(){return this.sw.isEnabled}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:t},t)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:t},t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class $p{}const bE=new z("NGSW_REGISTER_SCRIPT");function B3(n,e,t,i){return()=>{if(!DC(i)||!("serviceWorker"in navigator)||!1===t.enabled)return;let s;if(navigator.serviceWorker.addEventListener("controllerchange",()=>{null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({action:"INITIALIZE"})}),"function"==typeof t.registrationStrategy)s=t.registrationStrategy();else{const[a,...l]=(t.registrationStrategy||"registerWhenStable:30000").split(":");switch(a){case"registerImmediately":s=j(null);break;case"registerWithDelay":s=CE(+l[0]||0);break;case"registerWhenStable":s=l[0]?Ea(DE(n),CE(+l[0])):DE(n);break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${t.registrationStrategy}`)}}n.get(ze).runOutsideAngular(()=>s.pipe(Xt(1)).subscribe(()=>navigator.serviceWorker.register(e,{scope:t.scope}).catch(a=>console.error("Service worker registration failed with:",a))))}}function CE(n){return j(null).pipe(function(n,e=gE){const t=mE(n,e);return vE(()=>t)}(n))}function DE(n){return n.get(hs).isStable.pipe(Yt(t=>t))}function j3(n,e){return new eu(DC(e)&&!1!==n.enabled?navigator.serviceWorker:void 0)}let H3=(()=>{class n{static register(t,i={}){return{ngModule:n,providers:[{provide:bE,useValue:t},{provide:$p,useValue:i},{provide:eu,useFactory:j3,deps:[$p,ds]},{provide:bo,useFactory:B3,deps:[rt,bE,$p,ds],multi:!0}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[L3,V3]}),n})();!function(n,e,t){"string"!=typeof e&&(t=e,e=n[T.LocaleId]),e=e.toLowerCase().replace(/_/g,"-"),rs[e]=n,t&&(rs[e][T.ExtraData]=t)}(XF,undefined,undefined);let U3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n,bootstrap:[A3]}),n.\u0275inj=vt({providers:[{provide:Il,useValue:"/"}],imports:[[jF,hN,dL,hL,S3,H3.register("ngsw-worker.js",{enabled:false,registrationStrategy:"registerWhenStable:30000"})]]}),n})();VF().bootstrapModule(U3).catch(n=>console.error(n))}},V=>{V(V.s=328)}]);
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        14. GET http://localhost:3000/manifest.webmanifest
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (249 bytes)
          GET http://localhost:3000/manifest.webmanifest HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/
          
          
          Request body (0 bytes)
          Response
          Status line and header section (318 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"542-17e41c1b2eb"
          Content-Type: application/manifest+json
          Content-Length: 1346
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (1346 bytes)
          {
            "name": "JobHub",
            "short_name": "JobHub",
            "theme_color": "#1976d2",
            "background_color": "#fafafa",
            "display": "standalone",
            "scope": "./",
            "start_url": "./index.html",
            "icons": [
              {
                "src": "assets/icons/icon-72x72.png",
                "sizes": "72x72",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-96x96.png",
                "sizes": "96x96",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-128x128.png",
                "sizes": "128x128",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-144x144.png",
                "sizes": "144x144",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-152x152.png",
                "sizes": "152x152",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-192x192.png",
                "sizes": "192x192",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-384x384.png",
                "sizes": "384x384",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-512x512.png",
                "sizes": "512x512",
                "type": "image/png",
                "purpose": "maskable any"
              }
            ]
          }
          
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        15. GET http://localhost:3000/polyfills.2cae65b69551d3ee.js
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (359 bytes)
          GET http://localhost:3000/polyfills.2cae65b69551d3ee.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (332 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"90c4-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 37060
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (37060 bytes)
          "use strict";(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[429],{435:(we,ue,he)=>{he(583)},583:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"<root>",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(q,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,q,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;P<y.length;P++)y[P]._updateTaskCount(t.type,o)}}return I.__symbol__=u,I})();const g={name:"",onHasTask:(I,p,t,o)=>I.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,y,P):t.apply(o,y)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,y):t.callback.apply(o,y)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,y=o[p],P=o[p]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==H&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;p<I.length;p++){const t=I[p];try{t.zone.runTask(t,null,null)}catch(o){le.onUnhandledError(o)}}}le.microtaskDrainDone(),V=!1}}const z={name:"NO ZONE"},H="notScheduled",q="scheduling",O="scheduled",X="running",A="canceling",Y="unknown",v="microTask",M="macroTask",R="eventTask",K={},le={symbol:u,currentZoneFrame:()=>G,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe="undefined"!=typeof window,pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&void 0!==$.process&&"[object process]"==={}.toString.call($.process),He=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=void 0!==$.process&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;if(He&&i===pe&&"error"===e.type){const u=e;c=r&&r.call(this,u.message,u.filename,u.lineno,u.colno,u.error),!0===c&&e.preventDefault()}else c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let g=Ce[_];g||(g=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(_,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;r<n.length;r++)Xe(e,"on"+n[r],i);else{const r=[];for(const c in e)"on"==c.substr(0,2)&&r.push(c);for(let c=0;c<r.length;c++)Xe(e,r[c],i)}}const ne=x("originalInstance");function ve(e){const n=$[e];if(!n)return;$[x(e)]=n,$[e]=function(){const c=Ae(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ae($[e],n);const i=new n(function(){});let r;for(r in i)"XMLHttpRequest"===e&&"responseBlob"===r||function(c){"function"==typeof i[c]?$[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:he($[e].prototype,c,{set:function(u){"function"==typeof u?(this[ne][c]=Le(u,e+"."+c),ae(this[ne][c],u)):this[ne][c]=u},get:function(){return this[ne][c]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&($[e][r]=n[r])}function ce(e,n,i){let r=e;for(;r&&!r.hasOwnProperty(n);)r=de(r);!r&&e[n]&&(r=e);const c=x(n);let u=null;if(r&&(!(u=r[c])||!r.hasOwnProperty(c))&&(u=r[c]=r[n],Fe(r&&ue(r,n)))){const _=i(u,c,n);r[n]=function(){return _(this,arguments)},ae(r[n],u)}return u}function _t(e,n,i){let r=null;function c(u){const f=u.data;return f.args[f.cbIdx]=function(){u.invoke.apply(this,arguments)},r.apply(f.target,f.args),u}r=ce(e,n,u=>function(f,_){const g=i(f,_);return g.cbIdx>=0&&"function"==typeof _[g.cbIdx]?Me(g.name,_[g.cbIdx],g,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,je=!1;function mt(){if($e)return je;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch(e){}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch(s){}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k<C.length;)F(l,C[k++],C[k++],C[k++],C[k++]);if(0==C.length&&s==Y){l[d]=0;let k=a;try{throw new Error("Uncaught (in promise): "+function(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(b){k=b}g&&(k.throwOriginal=!0),k.rejection=a,k.promise=l,k.zone=n.current,k.task=n.currentTask,_.push(k),i.scheduleMicroTask()}}}return l}const te=f("rejectionHandledHandler");function re(l){if(0===l[d]){try{const s=n[te];s&&"function"==typeof s&&s.call(this,{rejection:l[L],promise:l})}catch(s){}l[d]=Y;for(let s=0;s<_.length;s++)l===_[s].promise&&_.splice(s,1)}}function F(l,s,a,h,w){re(l);const C=l[d],k=C?"function"==typeof h?h:V:"function"==typeof w?w:E;s.scheduleMicroTask("Promise.then",()=>{try{const b=l[L],N=!!a&&z===a[z];N&&(a[H]=b,a[q]=C);const j=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((j,U)=>{h=j,w=U}),k=2,b=0;const N=[];for(let j of s){B(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){me=!1}const Et={useG:!0},ee={},Je={},Ke=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),g="."+r+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}},Z=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][se]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}};function B(E,d){if(!E)return!1;let L=!0;d&&void 0!==d.useG&&(L=d.useG);const z=d&&d.vh;let H=!0;d&&void 0!==d.chkDup&&(H=d.chkDup);let q=!1;d&&void 0!==d.rt&&(q=d.rt);let O=E;for(;O&&!O.hasOwnProperty(r);)O=de(O);if(!O&&E[r]&&(O=E),!O||O[_])return!1;const X=d&&d.eventNameToString,A={},Y=O[_]=O[r],v=O[x(c)]=O[c],M=O[x(u)]=O[u],R=O[x(f)]=O[f];let K;function le(s,a){return!me&&"object"==typeof s&&s?!!s.capture:me&&a?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}d&&d.prepend&&(K=O[x(d.prepend)]=O[d.prepend]);const p=L?function(s){if(!A.isExisting)return Y.call(A.target,A.eventName,A.capture?Z:D,A.options)}:function(s){return Y.call(A.target,A.eventName,s.invoke,A.options)},t=L?function(s){if(!s.isRemoved){const a=ee[s.eventName];let h;a&&(h=a[s.capture?se:ie]);const w=h&&s.target[h];if(w)for(let C=0;C<w.length;C++)if(w[C]===s){w.splice(C,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[h]=null);break}}if(s.allRemoved)return v.call(s.target,s.eventName,s.capture?Z:D,s.options)}:function(s){return v.call(s.target,s.eventName,s.invoke,s.options)},y=d&&d.diff?d.diff:function(s,a){const h=typeof a;return"function"===h&&s.callback===a||"object"===h&&s.originalDelegate===a},P=Zone[x("UNPATCHED_EVENTS")],J=e[x("PASSIVE_EVENTS")],l=function(s,a,h,w,C=!1,k=!1){return function(){const b=this||e;let N=arguments[0];d&&d.transferEventName&&(N=d.transferEventName(N));let j=arguments[1];if(!j)return s.apply(this,arguments);if(Re&&"uncaughtException"===N)return s.apply(this,arguments);let U=!1;if("function"!=typeof j){if(!j.handleEvent)return s.apply(this,arguments);U=!0}if(z&&!z(s,j,b,arguments))return;const Q=me&&!!J&&-1!==J.indexOf(N),oe=le(arguments[2],Q);if(P)for(let _e=0;_e<P.length;_e++)if(N===P[_e])return Q?s.call(b,N,j,oe):s.apply(this,arguments);const Ge=!!oe&&("boolean"==typeof oe||oe.capture),st=!(!oe||"object"!=typeof oe)&&oe.once,At=Zone.current;let ze=ee[N];ze||(Qe(N,X),ze=ee[N]);const it=ze[Ge?se:ie];let De,ge=b[it],ct=!1;if(ge){if(ct=!0,H)for(let _e=0;_e<ge.length;_e++)if(y(ge[_e],j))return}else ge=b[it]=[];const at=b.constructor.name,lt=Je[at];lt&&(De=lt[N]),De||(De=at+a+(X?X(N):N)),A.options=oe,st&&(A.options.once=!1),A.target=b,A.capture=Ge,A.eventName=N,A.isExisting=ct;const be=L?Et:void 0;be&&(be.taskData=A);const fe=At.scheduleEventTask(De,j,be,h,w);return A.target=null,be&&(be.taskData=null),st&&(oe.once=!0),!me&&"boolean"==typeof fe.options||(fe.options=oe),fe.target=b,fe.capture=Ge,fe.eventName=N,U&&(fe.originalDelegate=j),k?ge.unshift(fe):ge.push(fe),C?b:void 0}};return O[r]=l(Y,g,p,t,q),K&&(O.prependListener=l(K,".prependListener:",function(s){return K.call(A.target,A.eventName,s.invoke,A.options)},t,q,!0)),O[c]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=arguments[2],w=!!h&&("boolean"==typeof h||h.capture),C=arguments[1];if(!C)return v.apply(this,arguments);if(z&&!z(v,C,s,arguments))return;const k=ee[a];let b;k&&(b=k[w?se:ie]);const N=b&&s[b];if(N)for(let j=0;j<N.length;j++){const U=N[j];if(y(U,C))return N.splice(j,1),U.isRemoved=!0,0===N.length&&(U.allRemoved=!0,s[b]=null,"string"==typeof a)&&(s[ke+"ON_PROPERTY"+a]=null),U.zone.cancelTask(U),q?s:void 0}return v.apply(this,arguments)},O[u]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=[],w=et(s,X?X(a):a);for(let C=0;C<w.length;C++){const k=w[C];h.push(k.originalDelegate?k.originalDelegate:k.callback)}return h},O[f]=function(){const s=this||e;let a=arguments[0];if(a){d&&d.transferEventName&&(a=d.transferEventName(a));const h=ee[a];if(h){const k=s[h[ie]],b=s[h[se]];if(k){const N=k.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}if(b){const N=b.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}}}else{const h=Object.keys(s);for(let w=0;w<h.length;w++){const k=Ke.exec(h[w]);let b=k&&k[1];b&&"removeListener"!==b&&this[f].call(this,b)}this[f].call(this,"removeListener")}if(q)return this},ae(O[r],Y),ae(O[c],v),R&&ae(O[f],R),M&&ae(O[u],M),!0}let V=[];for(let E=0;E<n.length;E++)V[E]=B(n[E],i);return V}function et(e,n){if(!n){const u=[];for(let f in e){const _=Ke.exec(f);let g=_&&_[1];if(g&&(!n||g===n)){const T=e[f];if(T)for(let m=0;m<T.length;m++)u.push(T[m])}}return u}let i=ee[n];i||(Qe(n),i=ee[n]);const r=e[i[ie]],c=e[i[se]];return r?c?r.concat(c):r.slice():c?c.slice():[]}function yt(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",r=>function(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,g,T){return g&&g.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=g.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(g.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:Je,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:He,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ye(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,g);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ye(e,n,i,"Timeout"),ye(e,n,i,"Interval"),ye(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;r<i.length;r++)ce(e,i[r],(u,f,_)=>function(g,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function(e,n){n.patchEventPrototype(e,n)})(e,i),function(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g<i.length;g++){const T=i[g],D=f+(T+u),Z=f+(T+c);r[T]={},r[T][u]=D,r[T][c]=Z}const _=e.EventTarget;_&&_.prototype&&n.patchEventTarget(e,[_&&_.prototype])}(e,i);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&i.patchEventTarget(e,[r.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i="undefined"!=typeof WebSocket,r=n.__Zone_ignore_on_properties;if(He){const f=window,_=function(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),void 0!==f.SVGElement&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const g=f.HTMLMarqueeElement;g&&W(g.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),"undefined"!=typeof IDBIndex&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const K=R[c];Z||(Z=R[Ze],B=R[Ie]),K&&B.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;I<F.length;I++)F[I]===v&&F.splice(I,1);!M.aborted&&v.state===E&&re.call(v)},te.push(v)}else v.invoke()}else!M.aborted&&!1===R[u]&&(R[_]=!0)};return Z.call(R,V,le),R[i]||(R[i]=v),A.apply(R,M.args),R[u]=!0,v}function L(){}function z(v){const M=v.data;return M.aborted=!0,Y.apply(M.target,M.args)}const H=ce(S,"open",()=>function(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const i=e.constructor.name;for(let r=0;r<n.length;r++){const c=n[r],u=e[c];if(u){if(!Fe(ue(e,c)))continue;e[c]=(_=>{const g=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(g,_),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const g=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},we=>{we(we.s=435)}]);
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        16. GET http://localhost:3000/resume-preview
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (210 bytes)
          GET http://localhost:3000/resume-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        17. GET http://localhost:3000/robots.txt
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (206 bytes)
          GET http://localhost:3000/robots.txt HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        18. GET http://localhost:3000/runtime.9d95bcda8c614efe.js
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (357 bytes)
          GET http://localhost:3000/runtime.9d95bcda8c614efe.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (330 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"429-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 1065
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (1065 bytes)
          (()=>{"use strict";var e,b={},_={};function n(e){var a=_[e];if(void 0!==a)return a.exports;var r=_[e]={exports:{}};return b[e](r,r.exports,n),r.exports}n.m=b,e=[],n.O=(a,r,t,u)=>{if(!r){var o=1/0;for(f=0;f<e.length;f++){for(var[r,t,u]=e[f],s=!0,l=0;l<r.length;l++)(!1&u||o>=u)&&Object.keys(n.O).every(i=>n.O[i](r[l]))?r.splice(l--,1):(s=!1,u<o&&(o=u));if(s){e.splice(f--,1);var c=t();void 0!==c&&(a=c)}}return a}u=u||0;for(var f=e.length;f>0&&e[f-1][2]>u;f--)e[f]=e[f-1];e[f]=[r,t,u]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={666:0};n.O.j=t=>0===e[t];var a=(t,u)=>{var l,c,[f,o,s]=u,v=0;if(f.some(h=>0!==e[h])){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var d=s(n)}for(t&&t(u);v<f.length;v++)n.o(e,c=f[v])&&e[c]&&e[c][0](),e[f[v]]=0;return n.O(d)},r=self.webpackChunkJobHub=self.webpackChunkJobHub||[];r.forEach(a.bind(null,0)),r.push=a.bind(null,r.push.bind(r))})()})();
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        19. GET http://localhost:3000/sign-in
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (203 bytes)
          GET http://localhost:3000/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        20. GET http://localhost:3000/sign-up-company
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/sign-up-company HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        21. GET http://localhost:3000/sign-up-user
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/sign-up-user HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        22. GET http://localhost:3000/sitemap.xml
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/sitemap.xml HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        23. GET http://localhost:3000/styles.ef46db3751d8e999.css
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (374 bytes)
          GET http://localhost:3000/styles.ef46db3751d8e999.css HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (311 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"0-17e41c1addb"
          Content-Type: text/css; charset=UTF-8
          Content-Length: 0
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (0 bytes)
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        24. GET http://localhost:3000/token-decode
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/token-decode HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

        25. POST http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          The web/application server is leaking information via one or more "X-Powered-By" HTTP response headers. Access to such information may facilitate attackers identifying other frameworks/components your web application is reliant upon and the vulnerabilities such components may be subject to.

          Request
          Request line and header section (312 bytes)
          POST http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json, example
          Content-Type: application/x-www-form-urlencoded
          Content-Length: 40
          
          
          Request body (40 bytes)
          email=foo-bar%40example.com&password=ZAP
          Response
          Status line and header section (424 bytes)
          HTTP/1.1 401 Unauthorized
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Content-Type: application/json; charset=utf-8
          Content-Length: 34
          ETag: W/"22-fYOKD8GWpg1GphMsnIl7SAJvvMo"
          Date: Mon, 10 Jan 2022 02:20:18 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (34 bytes)
          {"message":"User does not exist!"}
          Evidence
          X-Powered-By: Express
          Solution

          Ensure that your web server, application server, load balancer, etc. is configured to suppress "X-Powered-By" headers.

      3. X-Content-Type-Options Header Missing (20)
        1. GET http://localhost:3000
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (195 bytes)
          GET http://localhost:3000 HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        2. GET http://localhost:3000/
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (196 bytes)
          GET http://localhost:3000/ HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        3. GET http://localhost:3000/admin-dashboard
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/admin-dashboard HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        4. GET http://localhost:3000/api
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (256 bytes)
          GET http://localhost:3000/api HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/main.488cd5f42661da5d.js
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        5. GET http://localhost:3000/api/sign-in
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/api/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (496 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:35:05 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        6. GET http://localhost:3000/api/swagger.json
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (242 bytes)
          GET http://localhost:3000/api/swagger.json HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Accept: application/json,*/*
          
          
          Request body (0 bytes)
          Response
          Status line and header section (419 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Access-Control-Allow-Origin: *
          Access-Control-Allow-Methods: GET, PUT, POST, DELETE
          Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
          Content-Type: application/json; charset=utf-8
          Content-Length: 20818
          ETag: W/"5152-qZKO2OsezHfwyMV10btqZucI+kw"
          Date: Mon, 10 Jan 2022 02:20:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (20818 bytes)
          {"openapi":"3.0.0","info":{"title":"JobHub","version":"1.0.0","description":"JobHub REST API"},"license":{"name":"GNU LGPLv3","url":"https://choosealicense.com/licenses/lgpl-3.0"},"contact":{"name":"Rok Mokotar","url":"","email":"rm6551@student.uni-lj.si"},"servers":[{"url":"http://localhost:3000/api"},{"url":"https://jobhub-sp.herokuapp.com/api"}],"paths":{"/sign-in":{"post":{"summary":"Sign in new user","description":"Sign in user with email and password","tags":["Authentication"],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/SignIn"}}}},"responses":{"200":{"description":"Successful sign in, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No email or password provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-user":{"post":{"summary":"Sign up new user (user role = USER)","description":"Sign up new user with required credentials","tags":["Authentication"],"requestBody":{"description":"User sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserSignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/sign-up-company":{"post":{"summary":"Sign up new company (user role = COMPANY)","description":"Sign up new company with required credentials","tags":["Authentication"],"requestBody":{"description":"Company sign up data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/CompanySignUp"}}}},"responses":{"200":{"description":"Successful sign up, returns JWT.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessToken"}}}},"400":{"description":"No required credentials provided.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Invalid credentials!"}}},"500":{"description":"Server error!"}}}},"/db-insert":{"post":{"summary":"Fill database with seeds","tags":["Database"],"security":[{"jwt":[]}],"responses":{"200":{"description":"Database filled with seeds."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Empty the database","tags":["Database"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Database successfully emptied."},"401":{"description":"User which is not ADMIN wants to insert seeds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/token-decode":{"get":{"summary":"Decode JWT token and return user payload","tags":["Other"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User payload returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserPayload"}}}},"400":{"description":"Undefined access token.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}},"example":{"message":"Unauthorized!"}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/deleteJobOffer/{id}":{"delete":{"summary":"Delete specific job offer","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboard/delete/{id}":{"delete":{"summary":"Delete specific user","tags":["Admin"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true,"example":"5ded18eb51386c3799833191"}],"responses":{"201":{"description":"Deletion successful."},"401":{"description":"User which is not ADMIN wants to delete user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/admin-dashboards":{"get":{"summary":"Get a list of all users","tags":["Admin"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Deletion successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"401":{"description":"User which is not ADMIN wants to get a list of all user.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/resume-preview":{"get":{"summary":"Get user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get resume successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to get a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-resume":{"post":{"summary":"Create user resume","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Resume successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"401":{"description":"User which is not USER wants to create a resume.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/job-preview":{"get":{"summary":"Get company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Get job offer successful.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to get a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/post-job":{"post":{"summary":"Create company job offer","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Job offer successfully created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"401":{"description":"User which is not COMPANY wants to create a job offer.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/user-profile":{"put":{"summary":"Update user profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"User profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"401":{"description":"User which is not USER wants to update a USER.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/company-profile":{"put":{"summary":"Update company profile","tags":["Profile"],"security":[{"jwt":[]}],"responses":{"201":{"description":"Company profile successfully updated.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyProfile"}}}},"401":{"description":"User which is not COMPANY wants to update a COMPANY.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users":{"get":{"summary":"Get all users","tags":["User"],"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"User created","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/User"}}}},"responses":{"200":{"description":"Created user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["User"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/UserProfile"}}}},"responses":{"200":{"description":"Updated user returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{email}":{"get":{"summary":"Get specific user","tags":["User"],"parameters":[{"in":"path","name":"email","description":"user email","schema":{"type":"string"},"required":true,"example":"arthur.dent@galaxy.com"}],"responses":{"200":{"description":"User returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/User"}}}},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/users/{id}":{"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"User not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers":{"get":{"summary":"Get all job offers","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Job offers returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Job offer created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Created job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offers not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/joboffers/{id}":{"get":{"summary":"Get specific user","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"Job offer updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"job offer id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Job offer data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"responses":{"200":{"description":"Updated job offer returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobOffer"}}}},"404":{"description":"Job offer not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"User deleted","tags":["User"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"user id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"User deleted."},"404":{"description":"Users not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/results":{"post":{"summary":"Get all users","tags":["Other"],"security":[{"jwt":[]}],"requestBody":{"description":"Add result","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Result"}}}},"responses":{"200":{"description":"Users returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Result"}}}},"401":{"description":"Result is not created.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs":{"get":{"summary":"Get all resumes","tags":["Resume and Job Offer"],"responses":{"200":{"description":"Resumes returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resumes not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"post":{"summary":"Resume created","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Created resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}},"/cvs/{id}":{"get":{"summary":"Get specific resume","tags":["Resume and Job Offer"],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"put":{"summary":"User updated","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"requestBody":{"description":"Sign in data","required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"responses":{"200":{"description":"Updated resume returned.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Resume"}}}},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}},"delete":{"summary":"Resume deleted","tags":["Resume and Job Offer"],"security":[{"jwt":[]}],"parameters":[{"in":"path","name":"id","description":"resume id","schema":{"type":"string"},"required":true}],"responses":{"200":{"description":"Resume deleted."},"404":{"description":"Resume not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorMessage"}}}},"500":{"description":"Server error!"}}}}},"components":{"schemas":{"UserRole":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"Industry":{"type":"object","properties":{"name":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name"]},"Country":{"type":"object","properties":{"name":{"type":"string"},"country":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["name","country"]},"Gender":{"type":"object","properties":{"key":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["key"]},"JobOffer":{"type":"object","properties":{"title":{"type":"string"},"description":{"type":"string"},"expectations":{"type":"array","items":{"type":"string"}},"other":{"type":"string"},"active":{"type":"boolean"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["title","description","expectations"]},"Resume":{"type":"object","properties":{"about":{"type":"string"},"education":{"type":"array","items":{"type":"string"}},"experience":{"type":"array","items":{"type":"string"}},"projects":{"type":"array","items":{"type":"string"}},"skills":{"type":"array","items":{"type":"string"}},"description":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}},"required":["about"]},"Result":{"type":"object","properties":{"result":{"type":"number"},"shown_id":{"type":"string"}},"required":["result","shown_id"]},"User":{"type":"object","properties":{"user_role":{"type":"UserRole"},"first_name":{"type":"string"},"last_name":{"type":"string"},"username":{"type":"string"},"gender":{"type":"Gender"},"email":{"type":"string"},"phone_number":{"type":"string"},"country":{"type":"string"},"industry":{"type":"array","items":{"type":"Industry"}},"date_of_birth":{"type":"string","format":"date-time"},"resume":{"type":"Resume"},"job_offers":{"type":"array","items":{"type":"JobOffer"}},"results":{"type":"array","items":{"type":"Result"}},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"},"hashed_value":{"type":"string"},"random_value":{"type":"string"}},"required":["key","user_role","email","hashed_value","random_value"]},"ErrorMessage":{"type":"object","properties":{"message":{"type":"string"}}},"AccessToken":{"type":"object","properties":{"access_token":{"type":"string"}},"required":["access_token"]},"UserPayload":{"type":"object","properties":{"_id":{"type":"string"},"email":{"type":"string"},"user_role":{"type":"string"}},"required":["_id","email","user_role"]},"SignIn":{"type":"object","properties":{"email":{"type":"string"},"password":{"type":"string"}},"required":["email","password"]},"UserSignUp":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanySignUp":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"industry":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"UserProfile":{"type":"object","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"email":{"type":"string"},"gender":{"type":"string"},"date_of_birth":{"type":"string","format":"date-time"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]},"CompanyProfile":{"type":"object","properties":{"username":{"type":"string"},"email":{"type":"string"},"phone_number":{"type":"string"},"industry":{"type":"string"},"country":{"type":"string"},"password":{"type":"string"},"confirm_password":{"type":"string"}},"required":["email","password","confirm_password"]}},"securitySchemes":{"jwt":{"type":"http","scheme":"bearer","in":"header","bearerFormat":"JWT"}}},"tags":[{"name":"Authentication","description":"User Control"},{"name":"Database","description":"Database Control"},{"name":"Resume and Job Offer","description":"User Resume and Job Offer Control"},{"name":"Profile","description":"User Profile Control"},{"name":"Admin","description":"Admin User Control"},{"name":"User","description":"User Control"},{"name":"Other"}]}
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        7. GET http://localhost:3000/assets/images/favicon.ico
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (254 bytes)
          GET http://localhost:3000/assets/images/favicon.ico HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/
          
          
          Request body (0 bytes)
          Response
          Status line and header section (309 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"19d21-17e41c1b2e7"
          Content-Type: image/x-icon
          Content-Length: 105761
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (105761 bytes)
           ³f€€ (@@ (BA 00 ¨%ib   ¨ˆ h¹˜‰PNG
          
          
          IHDR\r¨fzIDATxÚíÝylœçaçñïóÎg†÷%Š:©Û’eùR[¾ªt“lR×YoôØ.Úb³»Hc·›î	ì_{,ÐÝl¶)Š…Ýº(m“EÐ EÖµ“º‘c9Ž-É:M‰¢$’âÍáp†s½ïûì)¯Iæ1äÌp~à%røò™!ßß<ïs‚ˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆˆHu2«úîã_nóJ¥V/öã=f†Çké5â•~’r{-ÖÒ-›-ôZËÑ0¤Ç§‚ Òŧä°\R`΂ 8aÞ}ib5'.ëÑÇ¿l€hC±Ø´†Eÿ>,-ÆxÛÁô=@–$¼J¿zrg>&Áǒ5‹G‡µx´YhÇÒk!Ž%i+]âºä1X€}ºÀë“´÷a
          ì
          ,JáP0_Zrz//Ü㛀cÀa¬ý-÷Ó|ë$««ZÈzÈCH¸õ‹¸_ò6k¹/´<„<†l¶îs²îbÇ^÷+²÷»O€1`ø:м¾ð¹ÜRO¾äë4vìKŸ¶˜íÀÏØ	tp/Ë
          ©bîÞ­ÝZ:,¶î¶àY?`{hÙ­ ¨y \&¬}¸nÞý£K9Ár.Ü{ÈbþÐ4TúÙËځ,5†aSÖ£ÇÂ&$iPTÄÂq?öã@XR|d
           vì¹_žÇUE"Kù>Ù8ÌÂ
          CžB¾T
          Ø© ¨6€"Ö|
          xÛ¼ûÂ7îö
          w¬Ä{®Ø…å °÷Ž©ô3”õgŽ˜ÂpÙÎz†¬…C¡B ŠÜ5mp×ì¼=ò…ûAóî‹éÛ}ÃÝnö¿<¹ðo®x†+^„¢1ìC~¯èWºHòÓ"û,pKðUàÛ?ð6bǞû%à	ài\מúòåò¦¡KØ¢Š@5ŠbèŠÿaóÑÍÿqüís?ý€Ûû®
          ±¿ÒÏ@ªÓ1Ì`8éy4ؐ‡PT¡Vw˜‡àÏ?ü€4æÅýÒã@ÆüoÜ=¬ÒÏ@ª—Áý‘<„<ë<„lQÃ`5*¹Ãþk ßœù£¿Yü‚«<úÅîbߎëÛO¢Q|ò,nœê„Kžá“!øVƒBªÐbïÝ=@Î>ø›Q 0§^²‹yèŘÏ`Ìo n>Y†‹žÇŸF#CÖèO§Jy`~ÌÏÍ,ät âyÀ#-†(jŠçâ
          1¶tµÒÝÞL{sÏsٞ+ÉJ\&_(1›Yò(Ñ%óqÊßö<,ŸÕD¢j•¶zŸN#Qã›qÿ–âC<eKW{·w³­§ƒhÄ@jnžÙLžt6ϬɯIÇecˆyðY]ÿÕ*l.# vì¹Ïÿ× ¨!ÿìÙ'س­›gž<Bsc‚ÆDÏ`*q¡µ„ÖR*LÎføæ«ïð£3œ<w•L®@XƁ<ÝÖ²ÅZ¾Ÿ/Ñ$Ô XrÀ4ðe¼àÿF#ǞïÛt VÿšÑÛÕJgkwõÒ×ÛÉÖî6bQbwn‚‹Å"ØÙCjnžl®À™+Ãäò%‚0,K™²À,†n²H¢Ò/’ÜNhZ½–(𔅇
          l©tÉdé~á“ñ?È£Gv-­Ý½½9É/}ê(O=´Ÿ±é4ÿô?ÿ)#SÌÍçËR¦œ1¤±ô{†­ÖÒ®
          @5ŠÍXv`½ýžÁîz+]*Yš®¶&žyâ¿·=ÛºoÝë/GKcœ­Ým<ñÐ>ŽÙ]ÖòùÎ{7ÕP݌݉	ïóÀîÛUéòÈÒ´5'9~ô÷íÙʎÍD¼å@S2֎ŽìãÛËZ¾À¸ÆÀ	@µëÅØ}Q0‡p­ÿRå¶t·qxïV~ýéGIÆWß\óìÏ<Àƒ¶ó·?égx2ÅðxjÕçô7#†­Ë­þ' ¦U¶ø!ä‹P(‚¯îˆ;3ûÁtE6ãÚl¤Êu·7ÓÝÖL[s²,çknŒÓޒdsW+³Ùòt†@È/w(IG‹»ø·¬²2š/ÂtÆS07_–ç´A5~Ô¸ájý¯Ÿ~ä‡v•·¹¦1ÑÀñ£û)ù>—®­ú|!pÓf—{ð³á>xæÑÕ`lÞ8ÿç‡ðNY_«
          ¦hŽâzk´ÐG
          èéh¡³µ©¬çŒxí-$ÊpK±(oZ% ê5‘Ő°©½™ÎÖòÞ­yž¡­9I¢¡<`Y\©R€U.Ä4㯆dræóŲžÓó<Zw@$— †øA€_î‰6ÖRòÂ2”Ú¢¨!™ùóùRYÏY(ù\º6Êd*Sé§' z_
          ¹24Ic¢¼Û1”ü€ë£Ók2KPªŸ †ôß§eµe>¤ä\žb&­>óz¤¨!g.c¼}ñ:Û7wÐÓѲªóMÌd¸vsš×Þé'¯å½ë’ÚjH6W`&=ÏàÍiRs9ü`e
          wahñƒ›“³O¤Herä‹åm[Ú ¨1#“ü»ßÿß=q–áñÁ
          B Í3<žâ_~å/ø·ÿë[•~JRAº¨1A’Îæyóü AòkŸý-	š’Ý8è!©¹yN½7Äéþ!nNΒÉ*ý”¤‚5ÆBfÒó¼úã‹üøü Ǐ`Û¦ö¥€021Ë«o]ä/^y›‘‰YJš1W×5*Í“Íùâý:]mM|ìP»·v±­§Mí-D
          ™›Ï“Íyí~&f2œî¿ÁÄL†ÉÙ̊ÛdãPÔ(?ñƒÓýC´7'‰E#ä‹%rÅÙ\ñVÌfrÌÍ8ýÞcÓsœ¹<Té¢KQl©LŽï½qžï½q¾ÒE‘£^‘:¦©c
          ‘:¦6€åyo•+ï¡,ÚÀ§~)jԞ­ÝlÛÔ¾ªs\º6F6_,ÛÆ R{5&ây$ã1ŽìÛÆÇõ­ê\cÓs5¨®)jL4êÑÕÞÄӏßǯ?½ºt_yëi½û×55ŠÔ1€HSˆÔ1µH}2"4D!d,îe†îBÈæ!´ïnQH}ò<HÆ¡­ÉíIØÛé>ncÑÅ%ÒòE¸6…"µ§1î6ÝÚ
          -pp§{Çoo†ØB
           Ñp«àj££‚æó0“ô<ŒOC&—oÂøL¤*ýìVE _4êvîëq!ðø}М„®Ö¥Ÿc"Ós00â>¦s©ý•”²1µ7»‹ýßÿô´Áþï¿Ã¯dõ¦vwØîþÿ«æ²nòWOÁÍ)øÁi÷ÿږ\ K,â.þƒ; µº[¡¥	¼2mVºhˆAcvö¸v„Ù,ŒÎÀØ´Û¦¼TýK­+dciLÀþmpd·»¿oN®ì)’qwÐ]ìÇî…3îøÎ0[ýÛ­)dc‰E¡½Åuñyfí.þ‹DÜÏ=²vôÀî-0:
          ùšëU¨Ò՗²±D<×ê¿Þ<ã~nc¶uæ6¸1ß=	åÞѹœÅ®tD6¤Míî6äþüæß‡ýÛ!«t©~Š@d-ãnZ›Ü-Áý{\Wd²µ“»Ð-€ÈZ‰xn¬Á'„ÇC:WF`àf¥Kv‹j"kmq¤áçƒ_|ÊuS&>z'§õ YkÏõN½½×uU6TG{€@d½4ÆÝ ¡ÿùüâ“nŒB¤²— @d½,6v¶ºÉI»·T¼& YOºÛܨÁ/|΍¨ €H%t´¸±}½nÒR…(D*¡¥¶o‚Þ7a©B"•ôsÀ/<U±¯@R‚ÐÍÞKÏ»¥¾|J·öH[œDopӋ[Ýځ±5¸\:[ÝD¡¦„+C±´®/…@êO®àfê½ü¸>ã)7qÑÏxÌ]ð{·º1ýOÝ¿P]ï,Yvõºuõ¹5nŒ¯ëK¡ú1°°ŽßOރTú‡`vÞ­ù—Í¿_ˆFÜ¡¥®»€ØÕëfù=rȽ[7%ÊW®†˜ tê²@dÍ܇ó×à[ç.úù˜£?vÏ^…½ÛÜ ž}[ÝíAY 
          í«È£
          ÙØ²y·çŸ½
          —‡]Õ?“{Õߥº>#“î"ÝÙÿüç]W^{óêË‹Â}»áâuhJB¾àÚ)ց@6¶©Yw?8êªò³Ù•§ä»ã攫޹­ïï'°RƸÉA	w¾RiÝ@݀²±}ë‡ðÝ7àÜ ÌÌ­þ|Si÷Nýß¾¯YØ5¨Lko|ü7G`(dcº9
          —nÀ»pu´¼çC·ôwÿœ8¹byÎ۔t£×q~€ndcr-øï¸¾þr
          þ¿øØ=åilNÂÖ.×(¸NTéâ
          øÁ)ð×ð^zà¦ûÓéò¬úÛÖäfÆ×o±€l,ւ¸Æ¾ñÔû}ûk¡Pr£	Óó®-`µ¢W“XÇ5²±Jn°Ïåa׿[z¿~Þ¸°úó4& §Ý
          ?^'
          ÙX‚Ðõóûë¸-×l¦<»E<׸^›™ F@ÙhüÀUÉ×s_¾é4t”a@PÄ[ØÑH·"+S(¹Ñzåêš[Š™Œ;j@6k¡è/¨ïj„áú´5¬€Èjuµº£)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)Dê˜@¤Ž)D꘠Žå
          %rå^3_jŠ ŽÍ¤³Ì¤W¸WžlZ´Æ4D#ljo&_ùöQ%? ä„k¹f¾ÔÕjŒçy4%âD£+_;>CŠ~°¦{fHmP
           Æ4%ãÙ·î¶•/CšË1>“¦ä•~:RaªԘ†h„Þî6“+ß?®äÌçKXUêž Æ´4%xäð.z;W¾
          m6_d|f?¨Í¥¬¥|tPC:[›èíj垾ʹ®b;êÉT†Kׯ(®çî9R•5¤1Ù@[s’ÞU®AŸ™/0:•V
          @µäkÿæWØÙÛ¹êó\æÄé+Ìç×qû,©J
          €ÐÝÞLKc‚Í]-t´$W|žÐZŠEŸL®@j.GX£ÛYIù(jÀ'îÝÅÑC;¹§¯—¦ÄÊ[ÿ}?dlzŽc3OTúiIPT±®¶&9¼›Ï=~˜ì#[ùà€|±Ä™ËCŒO§+ýÔ¤J(ªXkS‚£‡vò±ƒ}=´sÕç+–|oN‘Êä*ýÔ¤J(ªL2Þ@C,Âù­ÏÓ×Ûɓî£!Vž_Ót:Ëß>ÁDîe/å§X±hÏ3wüºµ†!žça4%ˆF#4%ØÔÑBKc‚=Ûºéíj¥)/K™ÆgæJ3“ž'¯)À²@°Ú[i¼KcŠ[$™h !áþ½[éjoâȾm»o7ûvôÐ֜ijŒŸzwßûÑ9ÎŽ2:¥ûyŸ Œbš’q~ùSG9²oÛڐ’xD<îö&’ñÝíÍléj#o(Ûş+”ÈJœ<7HÿñJ¿DRee‹DhmJðéGñ¹ÇWº8Š%ÒÙ<g¯ŒpudªÒő*£Øà^?3À+?¾Ä¥kc¤æÔú/¤Ø J~Àd*ÃõÑi†'ÉKù'¢Ø &S^øö	^}ë'N_©tq¤J)6 s#\žäûo]âÚÍéJGª˜`ºtmŒ³#üPïüòÈف®MðŸ^ü.cêï—%Pl%? •Éqíæ®Ž221Kjn¾ÒÅZžÙŒÏÀ•‘՝g*
          ã)Xϵ²y˜É¬¾ì‹Ö±ì
          €
          `lzŽ?þ«×yùͼñîÕJge¾ó#÷ñ«ß¬tI–ïäwüåßVº$Ëò@XùN²îr…ŒÏË'/pc|†¿;u™áñT¥‹…â@­8\åJ@°15%W(1—Íó—ÂõÑiN½w£ÒEº%a­ª–Õ¯”¢F´M•.‘Ü]f¾ÀøÌ¯üø"ožäÂà(ï]§P¬žÙ}Qà@hÙ¬
          @µÁ2Ò¢å›w&åZ‹ïK¥ `db–›“³\åâÂ17_¨ª
          >Ð$uPÝ,óÀlìI`˜•.“|Ð|®È•á	Î\fpdо}‚¹ù<™ùB¥‹vGà jÕÏØ!°—£`.XùFs²lahݽA@†Š>Œëʛ›Ï“/”¸:2ÅÜ|žcÓܜL3Î’Í(•ª{?¿ˆ…ÖÒQEµ¹­)07¢XscW¿Ø¼,Y†ä
          %rù"Eßg6›#Í30<ō±¦g³üõÎ1—Í3VcxF°ì	CºUΌb¹b¼'~g›†Ÿ1Ö~H ±+æy†X4®-]t´4Þñq¡µ„¡%C¬?	‚BɧPôñƒ€Ô\Ž kjßNkéµðý|¸…ÆÕŸRÊ/6ü.Ö¼
          £ÞœWç€YÜ-œ`…ÂÐR(ú\º6Vé¢TDЎ¥CoþÕ¬¤€óî‹Ó?øJš0<o­}ÐìY±ãAÈç}­9P它÷çà
          ÁâöàÆ¤0æ40To³T¥Ü»ÿnkÙ§{ÿj–ÆÀ^;àÇc~<ö}`кQ²,qÜýÿýaÈÃZu¨ZY°Ó`¯á'ñ‚)xÿ~ß2À«À4ðÛ,ÖD>¡0ä3AÈÁв)T
           JY,‚á0ŠkX€|Å>Ǟ’h~€,ÁUÿ»­þÛf]m@ªNiáxː9õR~ñ·=öüïû
          ö™J—\ªWðOü€'ƒgk¨»²ýÐoμø¯>ü…;uù4®‘à °7YHä–íÖÒc-!}ªöW«…F?ÞÎßî·Ýo:zó\dû'fmº”x<´<†ün)`‹Zþ«ÕpøsæÅWn÷€»
          ú¹üw‹¹<`°?ÏCêÇ^k9Z¾PòÙ­¿ZÀw€ÓÀ7Á;=ðŽPzãkiàLôØó÷âFupm>îÐv —Áý±t-ôõ¶–ªúW‹»øK@?pÁœyñÌݾaÉrìÑ/ýcàÆü# Í ¬-ÖÒeá·}Ÿ‡Bˁúú«Pì<˜¯ƒ¹`μðûKù¦åŒû¿ŠK—¿ö›€]¸®ÂD¥Ÿ½”ÁýR;­¥ÛÂÁ0¤ÛÂ=¡e“ªýÕÄ_8ú)àðîÞI–U•O<úÅ$°9 ò¸Åì7Æþ*n˜Í•~%¤|< ÕZކ–ǐ_öCz­¥U•± Þçðü—¬9õҒ׈[îÌ¿"0¼†ëZxè²ð€­`;-f®‹¸×¸6
          &ªRIkÝ;=n0OµCÚ,ì²îÝ~‹µlµ×Å_)%°E0)Ü0ýKÀ8–ACÀp×å—ÅÕ–lՍy‘cÏo7Ø»ÕbíÀ>ãFjpX•j±–°ÕÂNkÙZއ!›¬å`辖Ѕ_i°90£¸‹ýu`ÐœÂ¯à…isê¥ÙJRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD¤lþ ˆØÀdIEND®B`‚(€ l9j9Bk9bk9zk9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€j7'€i5b€e1¼€d/ó€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€b.ÿzc.ÿhc.ÿ@c-ÿ`0ÿh8k8)k9rk9²k9Õk9ëk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk8ÿj8%ÿi6Dÿg4qÿe1Éÿc.úÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc.ÿïc.ÿÔc.ÿ´c.ÿzc.ÿ!`0ÿj8]k9Êk9ðk9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7(ÿg4wÿd/æÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿòb.ÿÒc.ÿjk8l9…k9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Kÿd0Ûÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc.ÿ…c.ÿl9k8‹k9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Fÿd0Ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿóc.ÿ‹c.ÿk9k9{k9êk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5_ÿd/äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿêc.ÿwb-ÿp@k:Ek9ßk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿg3ÿc/öÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ×b.ÿG`0ÿj8k9˜k9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi7@ÿe0Ïÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿšd.ÿl:8k9òk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrBÿ{O!ÿ{O!ÿ{O!ÿ{O!ÿzMÿyLÿvHÿsCÿm<ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿf3—ÿc.üÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿéb.ÿ,k9qk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿþþýÿöóðÿîéãÿÞÓÇÿdzŸÿŸ]ÿˆ`6ÿwIÿl:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5Yÿd/ãÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ{k9¹k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨Œmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüüÿçà×ÿ®™ÿ˜uQÿuGÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj75ÿe0Ðÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ³k9çk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿëäÝÿİ›ÿ‚W+ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Àÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿák9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüúùÿÞÓÇÿ”oJÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1·ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿêãÜÿ €_ÿn=
          ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ°”ÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿÏ¿ÿÿtEÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿzLÿÿͼÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿòîÿÿ»¤ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨Œmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿìæàÿ €^ÿo?ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÒÿ•pKÿm;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ¨ŒmÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØË½ÿzNÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿV)ÿ¢‚aÿ¢‚aÿ¢‚aÿ¡_ÿ|Yÿ«qÿÆ´ ÿðëæÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúøÿ¬sÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿm<	ÿm<	ÿm<	ÿm<ÿl;ÿo>ÿsDÿV)ÿÔÆ·ÿýüûÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíçàÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿsCÿ¼¥ÿ÷ôñÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúøöÿ°–zÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿyKÿïšÿûúøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþýÿÓĵÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŠb8ÿàÖËÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÝÓÿ‡^3ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=	ÿ¹¢‰ÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðëæÿ €^ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ—tPÿïéãÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷õòÿ¯•yÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ€U)ÿæÞÕÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýüüÿ½¦ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿİ›ÿn<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ|Oÿÿ×Éÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÚÎÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿuFÿÿÐÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿéâÿÿzMÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿTÿÿÚÍÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿÁ¬ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøõÿÿŒeÿÿc/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ“nÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¸ ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¼¥ÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿl:ÿÿ·Ÿÿÿýýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõñÿÿ¦ˆÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿóïÿÿ‘lÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿd0ÿÿŽhÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿëåÿÿfÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿâØÿÿƒYÿÿf2ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿf2ÿÿ…[ÿÿäÛÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÒÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿíçÿÿªÿÿ~Rÿÿn=ÿÿh4ÿÿh5ÿÿm;ÿÿyKÿÿ¢‚ÿÿíçÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿ°•ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿßÔÿÿ½§ÿÿ­‘ÿÿ®’ÿÿº£ÿÿÙÍÿÿúøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿêãÿÿuFÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ±–ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿåÝÿÿyKÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòîÿÿ—sÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿðëÿÿ¡ÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿíçÿÿ¨‹ÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿðëÿÿ ÿÿk9ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿöôÿÿ÷ôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷õÿÿξÿÿjÿÿh4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÑÿÿ—sÿÿàÕÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿúøÿÿÙÌÿÿž}ÿÿtEÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿg4ÿÿjÿÿ¿©ÿÿàÕÿÿéâÿÿíçÿÿíæÿÿìåÿÿéáÿÿÓÄÿÿ²˜ÿÿVÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿg3ÿÿtEÿÿƒYÿÿ‚Wÿÿ}QÿÿqAÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvIÿãÚÐÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·£ÿsCÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<	ÿ™wSÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ¥†gÿ‘lFÿp?
          ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿl:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<	ÿ†]2ÿ™vRÿž|Zÿ—tOÿ|P"ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿtEÿ»£‹ÿÝÑÅÿíçàÿñìçÿìåÞÿÓĵÿ¥‡hÿqBÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿtEÿÀ«•ÿù÷õÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿðêåÿ®“vÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿ°•yÿöòïÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿõñíÿ¢‚bÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿW+ÿÙÍÀÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÉ·¥ÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ“nHÿèàØÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿàÖËÿƒZ.ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ˜uQÿìæßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÞÕÿ†]2ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1µÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9õk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿkDÿæÝÔÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜÑÄÿW+ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1¹ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ·ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÙÌÿÿuGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿõk9Ëk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuGÿͼªÿþþýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿ¾§‘ÿuFÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿrBÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿƒXÿÿyLÿÿf2ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÖj9–k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ“nIÿæÞÕÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿýýüÿÙÌ¿ÿ‡^4ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Jÿd0Ûÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿb.ÿ“l9Qk9÷k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ €_ÿâÙÏÿüûúÿÿÿÿÿÿÿÿÿÿÿÿÿýüûÿÚÎÁÿšxUÿm<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿg4wÿc/òÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿûc-ÿOk9k9Æk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŽhAÿ·ž…ÿÐÁ±ÿÖɺÿϾ­ÿ¶ƒÿˆ`6ÿm<	ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8"ÿf2«ÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿËb.ÿ#i9
          j9tk9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿqBÿ}R$ÿ€V)ÿ|P"ÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5Yÿd/éÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿùc.ÿpb.ÿh8j8&k9³k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7$ÿe1³ÿc.þÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿ»b.ÿ*`0ÿk98k9Âk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿf2¦ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿÂd-ÿ8k:Ck9Ãk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8!ÿf3“ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿÃc-ÿCk98k9¼k9ùk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi79ÿf2Ÿÿc.÷ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿôc.ÿ´d-ÿ8j9+k:qk9Ìk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8)ÿg4wÿe1Æÿc.÷ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ÷c.ÿÇb-ÿtb-ÿ'p@k;l;#j9Ok9”k:Øk9õk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7)ÿi5Vÿg2•ÿd/ßÿc/ñÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿõc-ÿÍc-ÿ–a-ÿRc.ÿa,ÿ
          `(ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿøøàÀ€Ààðøøÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(@€ @h8k8'k9xk9°k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿k9¿j7)¿g3„¿d/ë¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ³c.ÿxc.ÿ(`0ÿk8k9wk9îk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7+ÿe1Ãÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿðc.ÿzc.ÿk9k9k9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe1Èÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿ€b-ÿk9<k9÷k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi7:ÿc/ñÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿôc.ÿ=k9¦k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿ¥‡gÿ½§ÿº£‹ÿ¯”xÿ‘lFÿuGÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿe1´ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ¤k9çk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿêâÛÿ¯”xÿqAÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿg4wÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿåk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿÖÉ»ÿyLÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5^ÿc.ÿÿc.ÿÿvHÿÿ«Žÿÿ«Žÿÿ«Žÿÿ«Žÿÿ‚Xÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿƒYÿÿ«Žÿÿ«Žÿÿ«Žÿÿ«ŽÿÿyKÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm;ÿÔŶÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÜÐÄÿwIÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿ²™~ÿÐÁ°ÿÏ¿®ÿÜÐÄÿûúùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ¾©’ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿl:ÿl:ÿn=
          ÿf>ÿëåÞÿÿÿÿÿÿÿÿÿÿÿÿÿù÷õÿ€U(ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿöóðÿÿÿÿÿÿÿÿÿÿÿÿÿ¬sÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿl:ÿν¬ÿÿÿÿÿÿÿÿÿÿÿÿÿν¬ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ°•zÿÿÿÿÿÿÿÿÿÿÿÿÿßÔÉÿl:ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ©Œÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ­‘ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ§Šÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ“nÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÐÀÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿe1ÿÿͼÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ‰aÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüûÿÿ–sÿÿd/ÿÿc.ÿÿc.ÿÿd/ÿÿ—sÿÿúùÿÿÿÿÿÿÿÿÿÿÿÿÿÿòíÿÿo?ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûùÿÿÁ¬ÿÿjÿÿiÿÿ¼¥ÿÿûùÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿîÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿùöÿÿ|Oÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¤…ÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿûúÿÿ¨‹ÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿØËÿÿ÷ôÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþýÿÿÛÏÿÿŽgÿÿd0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿo>ÿÿšxÿÿ³šÿÿ¶ÿÿ¤…ÿÿ~Rÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ­‘tÿÿÿÿÿÿÿÿÿÿÿÿÿäÛÑÿo>ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿwIÿˆ`7ÿˆ`7ÿˆ`7ÿƒZ/ÿl;ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrCÿƒY.ÿzMÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ…\1ÿäÛÑÿ÷ôñÿïêäÿ­‘uÿl;ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿqAÿàÕÊÿÿÿÿÿÿÿÿÿÿÿÿÿüûúÿ”pKÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ€U)ÿôñíÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ´›€ÿk9ÿk9ÿk9ÿk9ÿh5]ÿc.ÿÿc.ÿÿfÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ§‰ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ïk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿwIÿìåßÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿ¤…eÿk9ÿk9ÿk9ÿk9ÿh5jÿc.ÿÿc.ÿÿ|OÿÿÁ«ÿÿÁ«ÿÿÁ«ÿÿÁ«ÿÿŒdÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿòk9·k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¡`ÿ÷ôòÿÿÿÿÿþþþÿÓÄ´ÿrCÿk9ÿk9ÿk9ÿk9ÿf2£ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿ·k9Xk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿˆ`7ÿ©Œnÿœ{XÿsCÿk9ÿk9ÿk9ÿk9ÿj8"ÿd/äÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿZj8
          k9«k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿf2Ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿ­b.ÿk:k9­k9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk8ÿf3“ÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿüc.ÿ«c-ÿk9k:Zk9·k9ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8"ÿh5iÿe0Ëÿc.ýÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿðc.ÿ¸c.ÿXb-ÿ
          ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÀ€€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(0` $k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9k9h5ad/óc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿc.ÿ`0ÿk9
          k9~k9Ûk9ük9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿh5eÿd/áÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿýc.ÿÛc.ÿ€c.ÿ
          k9k9µk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8(ÿd/àÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿµc.ÿk9xk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿm<ÿm<ÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Qÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿuk9Ök9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuGÿìåÞÿïêäÿãÚÐÿÀ«•ÿ†^3ÿk:ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿd/âÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÕk9ýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvHÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿúø÷ÿ±—{ÿl;ÿk9ÿk9ÿk9ÿk9ÿk9ÿe0Æÿc.ÿÿ{Nÿÿ™vÿÿ™vÿÿ–sÿÿj7ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ‚Xÿÿ™vÿÿ™vÿÿ–rÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿýk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿvHÿúøöÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþþÿ²˜}ÿl:ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ‘lFÿ’mGÿ£„dÿçß×ÿÿÿÿÿÿÿÿÿøöôÿ†]3ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{Nÿìæàÿÿÿÿÿÿÿÿÿ»¤Œÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ±–{ÿÿÿÿÿÿÿÿÿÝÑÅÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ|YÿÿÿÿÿÿÿÿÿéâÚÿm;ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ¿©ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿwHÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿ½¦ÿÿÿÿÿÿÿÿÿÿ÷õÿÿg4ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿþýÿÿŠbÿÿc.ÿÿc.ÿÿc.ÿÿd0ÿÿÔÅÿÿÿÿÿÿÿÿÿÿðëÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÝÒÿÿuFÿÿd/ÿÿf2ÿÿŸÿÿüûÿÿÿÿÿÿÿÿÿÿпÿÿd/ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿòíÿÿÑÁÿÿÝÑÿÿüûÿÿÿÿÿÿÿÿÿÿþþÿÿiÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÇ´ÿÿe0ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿÿÿÿÿþþÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿüüÿÿÇ´ÿÿj7ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿù÷ÿÿ¦ˆÿÿÕÆÿÿéâÿÿçÞÿÿʸÿÿiÿÿe1ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿœ{XÿÿÿÿÿÿÿÿÿëäÝÿn=
          ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿh5ÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿrBÿV+ÿV+ÿ~S&ÿl:ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿp?
          ÿ¬tÿ¾¨’ÿŒe<ÿk9ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿº¢ŠÿÿÿþÿÿÿÿÿöòïÿƒY-ÿk9ÿk9ÿk9ÿe1Äÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿá×Íÿÿÿÿÿÿÿÿÿÿÿÿÿ¡`ÿk9ÿk9ÿk9ÿe1Åÿc.ÿÿªŒÿÿÿÿÿÿÿÿÿÿøöÿÿvGÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþk9ák9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¸ ‡ÿÿÿÿÿÿÿÿÿõòïÿ‚X,ÿk9ÿk9ÿk9ÿd0Úÿc.ÿÿq@ÿÿ‚Xÿÿ‚XÿÿVÿÿg3ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿâk9k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn>ÿ§‰kÿ½¦ÿŒe<ÿk9ÿk9ÿk9ÿi7;ÿc.üÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿj9k9Ók9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj8ÿe0Éÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÓc.ÿk9k9®k9ók9þk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9
          ÿi7=ÿe0Æÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿþc.ÿòc.ÿ«c-ÿl<k9 k9>k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@k9@h5[@d/ì@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ@c.ÿ=c-ÿ b-ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿà€€Àÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ( @ k8
          k9Jk9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`k9`h5V`c.õ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿ`c.ÿKc.ÿ
          k9"k9Øk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿi6Bÿc/ñÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÙc.ÿ"k9¶k9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿzMÿ“oIÿ†]2ÿn=	ÿk9ÿk9ÿk9ÿk9ÿg4zÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿµk9ùk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ €_ÿÿÿÿÿÿÿÿÿåÝÔÿ‹d;ÿk9ÿk9ÿk9ÿi78ÿc.ÿÿzLÿÿ‡^ÿÿ}Pÿÿc.ÿÿc.ÿÿc.ÿÿ}Qÿÿ‡^ÿÿzMÿÿc.ÿÿc.ÿÿc.ÿøk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ˜uPÿçß×ÿõòïÿÿÿÿÿöóðÿƒY-ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk:ÿtEÿÛÏÃÿÿÿÿÿÉ·¤ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ•qLÿÿÿÿÿëäÝÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿÔÆÿÿÿÿÿÿÉ·ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿßÔÿÿc.ÿÿc.ÿÿd/ÿÿÝÑÿÿÿÿÿÿŲÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿþþÿÿ­’ÿÿyLÿÿ¬ÿÿþýÿÿÿÿÿÿ¢‚ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿæÝÿÿi7ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿõòÿÿýüÿÿÿÿÿÿÿÿÿÿÙÌÿÿuFÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿŒe=ÿÿÿÿÿòíèÿm<ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿtEÿÿŒeÿÿzMÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿn=
          ÿ‚W+ÿ|P"ÿk9ÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿkDÿöóðÿæÝÕÿvGÿk9ÿj71ÿc.ÿÿƲÿÿÿÿÿÿÓÄÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ûk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ¶ƒÿÿÿÿÿÿÿÿÿ‹e<ÿk9ÿi74ÿc.ÿÿ²˜ÿÿàÕÿÿ½¦ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿük9Âk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿyKÿʸ¥ÿ¸ ‡ÿm<ÿk9ÿh4lÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÃk91k9êk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿj7-ÿd/çÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿéc.ÿ2k:k9kk9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€k9€i6F€d/ä€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿ€c.ÿjc.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ€€ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ(  k9Ak9ªk9¯k9¯k9¯k9¯k9¯k9¯i6G¯c.ú¯c.ÿ¯c.ÿ¯c.ÿ¯c.ÿ¯c.ÿªc.ÿAk9ëk9ÿk9ÿk9ÿk9ÿ«qÿ¶ƒÿsDÿk9ÿf2¬ÿrBÿÿi7ÿÿc.ÿÿrCÿÿi6ÿÿc.ÿëk9ÿk9ÿk9ÿk9ÿk9ÿ•rMÿÑÁ±ÿÐÀ°ÿk9ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿêâÿÿ–rÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ~R%ÿ÷ôñÿl:ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿêâÿÿ–rÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿž}ÿÿc.ÿÿìåÿÿ•qÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿêãÿÿɶÿÿøöÿÿtEÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿ{O!ÿøöôÿl:ÿf3˜ÿãÙÿÿξÿÿÁ¬ÿÿ…[ÿÿc.ÿÿc.ÿÿk9ÿk9ÿk9ÿk9ÿk9ÿk9ÿuFÿ·ž…ÿn=
          ÿf3˜ÿãÙÿÿ›yÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿÿk9ïk9ÿk9ÿk9ÿk9ÿk9ÿW*ÿàÕËÿtEÿf2§ÿ–rÿÿyLÿÿc.ÿÿc.ÿÿc.ÿÿc.ÿïk9Mk9ºk9¿k9¿k9¿k9¿k9¿k9¿i6B¿c.÷¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿ¿c.ÿºc.ÿMÿÿÿÿÿÿÿÿÿÿÿÿ
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        8. GET http://localhost:3000/assets/stylesheets/style.css
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (375 bytes)
          GET http://localhost:3000/assets/stylesheets/style.css HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (316 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"900-17e41c1b2eb"
          Content-Type: text/css; charset=UTF-8
          Content-Length: 2304
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2304 bytes)
          /* Global css styles */
          
          /*
           * X-Small <576px []
           * Small >=576px [sm]
           * Medium >=768px [md]
           * Large >=992px [lg]
           * Extra large >=1200px [xl]
           * Extra extra large >=1400 [xxl]
           */
          
          @import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');
          @import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');
          @import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');
          
          :root {
          	--fontFamily: 'Oxygen', sans-serif;
          	--logoFontFamily: 'Righteous', cursive;
          	--fontSize: 100%;
          	--logoFontSize: 175%;
          	--smallFontSize: 85%;
          	--grayBackground: #eaeaea;
          	--borderColor: #ced4da;
          	--primaryFontColor: #252a34;
          	--secondaryFontColor: #ced4da;
          	--primaryColor: #16396b;
          	--primaryColorLow: #16396b4d;
          	--secondaryColor: #ea2e64;
          	--secondaryColorLow: #ea2e644d;
          	--backgroundColor: #ffffff;
          	--borderRadiusList: 2px;
          	--borderRadiusImg: 50%;
          	--borderRadius: 25px;
          	--standardHeight: 42px;
          	--headerHeight: 100px;
          	--footerHeight: 50px;
          	--cardSize: 70vh;
          }
          
          body {
          	font-family: var(--fontFamily) !important;
          	background-color: var(--backgroundColor);
          }
          
          .content-container {
          	min-height: calc(
          		100vh - var(--headerHeight) - var(--footerHeight) - 20px
          	) !important;
          }
          
          input {
          	background: var(--backgroundColor) !important;
          	border: 1px solid var(--borderColor) !important;
          	text-align: center;
          	height: var(--standardHeight);
          }
          
          .btn {
          	box-shadow: none !important;
          }
          
          input:focus {
          	box-shadow: none !important;
          	border: 1px solid var(--borderColor) !important;
          	text-align: center;
          	height: var(--standardHeight);
          }
          
          textarea {
          	background: var(--backgroundColor) !important;
          	border: 1px solid var(--borderColor) !important;
          }
          
          textarea:focus {
          	box-shadow: none !important;
          }
          
          header {
          	width: 100%;
          	padding: 10px;
          	height: var(--headerHeight);
          	color: var(--primaryFontColor);
          }
          
          button:focus {
          	box-shadow: none !important;
          }
          
          .collapse {
          	z-index: 3;
          }
          
          footer {
          	width: 100%;
          	height: var(--footerHeight);
          	padding: 10px;
          	text-align: center;
          	color: var(--primaryFontColor);
          	font-size: var(--fontSize) !important;
          }
          
          .logoTitleHeader img {
          	height: 70px;
          }
          
          .logoTitleFooter img {
          	height: 25px;
          }
          
          .headerOptions {
          	font-size: var(--headerFontSize);
          }
          
          .headerCollapseOptions {
          	background-color: white;
          }
          
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        9. GET http://localhost:3000/job-preview
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/job-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        10. GET http://localhost:3000/main.488cd5f42661da5d.js
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (354 bytes)
          GET http://localhost:3000/main.488cd5f42661da5d.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (334 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"75802-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 481283
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (481283 bytes)
          "use strict";var $3=Object.defineProperty,z3=Object.defineProperties,W3=Object.getOwnPropertyDescriptors,wE=Object.getOwnPropertySymbols,G3=Object.prototype.hasOwnProperty,q3=Object.prototype.propertyIsEnumerable,xE=(V,nt,yt)=>nt in V?$3(V,nt,{enumerable:!0,configurable:!0,writable:!0,value:yt}):V[nt]=yt,Gp=(V,nt)=>{for(var yt in nt||(nt={}))G3.call(nt,yt)&&xE(V,yt,nt[yt]);if(wE)for(var yt of wE(nt))q3.call(nt,yt)&&xE(V,yt,nt[yt]);return V},qp=(V,nt)=>z3(V,W3(nt));(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[179],{328:()=>{function V(n){return"function"==typeof n}function nt(n){const t=n(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const yt=nt(n=>function(t){n(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t});function _r(n,e){if(n){const t=n.indexOf(e);0<=t&&n.splice(t,1)}}class Rt{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const s of t)s.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(V(i))try{i()}catch(s){e=s instanceof yt?s.errors:[s]}const{_teardowns:r}=this;if(r){this._teardowns=null;for(const s of r)try{Jp(s)}catch(o){e=null!=e?e:[],o instanceof yt?e=[...e,...o.errors]:e.push(o)}}if(e)throw new yt(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Jp(e);else{if(e instanceof Rt){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(e)}}_hasParent(e){const{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){const{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&_r(t,e)}remove(e){const{_teardowns:t}=this;t&&_r(t,e),e instanceof Rt&&e._removeParent(this)}}Rt.EMPTY=(()=>{const n=new Rt;return n.closed=!0,n})();const Yp=Rt.EMPTY;function Kp(n){return n instanceof Rt||n&&"closed"in n&&V(n.remove)&&V(n.add)&&V(n.unsubscribe)}function Jp(n){V(n)?n():n.unsubscribe()}const Hi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},wa={setTimeout(...n){const{delegate:e}=wa;return((null==e?void 0:e.setTimeout)||setTimeout)(...n)},clearTimeout(n){const{delegate:e}=wa;return((null==e?void 0:e.clearTimeout)||clearTimeout)(n)},delegate:void 0};function Zp(n){wa.setTimeout(()=>{const{onUnhandledError:e}=Hi;if(!e)throw n;e(n)})}function vr(){}const EE=nu("C",void 0,void 0);function nu(n,e,t){return{kind:n,value:e,error:t}}let Ui=null;function xa(n){if(Hi.useDeprecatedSynchronousErrorHandling){const e=!Ui;if(e&&(Ui={errorThrown:!1,error:null}),n(),e){const{errorThrown:t,error:i}=Ui;if(Ui=null,t)throw i}}else n()}class iu extends Rt{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,Kp(e)&&e.add(this)):this.destination=IE}static create(e,t,i){return new ru(e,t,i)}next(e){this.isStopped?ou(nu("N",e,void 0),this):this._next(e)}error(e){this.isStopped?ou(nu("E",void 0,e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?ou(EE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}class ru extends iu{constructor(e,t,i){let r;if(super(),V(e))r=e;else if(e){let s;({next:r,error:t,complete:i}=e),this&&Hi.useDeprecatedNextContext?(s=Object.create(e),s.unsubscribe=()=>this.unsubscribe()):s=e,r=null==r?void 0:r.bind(s),t=null==t?void 0:t.bind(s),i=null==i?void 0:i.bind(s)}this.destination={next:r?su(r):vr,error:su(null!=t?t:Xp),complete:i?su(i):vr}}}function su(n,e){return(...t)=>{try{n(...t)}catch(i){Hi.useDeprecatedSynchronousErrorHandling?function(n){Hi.useDeprecatedSynchronousErrorHandling&&Ui&&(Ui.errorThrown=!0,Ui.error=n)}(i):Zp(i)}}}function Xp(n){throw n}function ou(n,e){const{onStoppedNotification:t}=Hi;t&&wa.setTimeout(()=>t(n,e))}const IE={closed:!0,next:vr,error:Xp,complete:vr},au="function"==typeof Symbol&&Symbol.observable||"@@observable";function vi(n){return n}let fe=(()=>{class n{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const s=function(n){return n&&n instanceof iu||function(n){return n&&V(n.next)&&V(n.error)&&V(n.complete)}(n)&&Kp(n)}(t)?t:new ru(t,i,r);return xa(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=eg(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),null==o||o.unsubscribe()}},s,r)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[au](){return this}pipe(...t){return function(n){return 0===n.length?vi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=eg(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function eg(n){var e;return null!==(e=null!=n?n:Hi.Promise)&&void 0!==e?e:Promise}const PE=nt(n=>function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Jt=(()=>{class n extends fe{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new tg(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new PE}next(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){const i=this.observers.slice();for(const r of i)r.next(t)}})}error(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:s}=this;return i||r?Yp:(s.push(t),new Rt(()=>_r(s,t)))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:s}=this;i?t.error(r):s&&t.complete()}asObservable(){const t=new fe;return t.source=this,t}}return n.create=(e,t)=>new tg(e,t),n})();class tg extends Jt{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,e)}error(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,e)}complete(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)}_subscribe(e){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==i?i:Yp}}function ng(n){return V(null==n?void 0:n.lift)}function je(n){return e=>{if(ng(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}class Ne extends iu{constructor(e,t,i,r,s){super(e),this.onFinalize=s,this._next=t?function(o){try{t(o)}catch(a){e.error(a)}}:super._next,this._error=r?function(o){try{r(o)}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(o){e.error(o)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;const{closed:t}=this;super.unsubscribe(),!t&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}}function Z(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>{i.next(n.call(e,s,r++))}))})}function $i(n){return this instanceof $i?(this.v=n,this):new $i(n)}function FE(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(n,e||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){s.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function(h){h.value instanceof $i?Promise.resolve(h.value.v).then(c,u):d(s[0][2],h)}(i[h](f))}catch(p){d(s[0][3],p)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,f){h(f),s.shift(),s.length&&a(s[0][0],s[0][1])}}function NE(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,e=n[Symbol.asyncIterator];return e?e.call(n):(n=function(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){!function(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=n[s](o)).done,o.value)})}}}const cu=n=>n&&"number"==typeof n.length&&"function"!=typeof n;function og(n){return V(null==n?void 0:n.then)}function ag(n){return V(n[au])}function lg(n){return Symbol.asyncIterator&&V(null==n?void 0:n[Symbol.asyncIterator])}function cg(n){return new TypeError(`You provided ${null!==n&&"object"==typeof n?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const ug="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function dg(n){return V(null==n?void 0:n[ug])}function hg(n){return FE(this,arguments,function*(){const t=n.getReader();try{for(;;){const{value:i,done:r}=yield $i(t.read());if(r)return yield $i(void 0);yield yield $i(i)}}finally{t.releaseLock()}})}function fg(n){return V(null==n?void 0:n.getReader)}function Zt(n){if(n instanceof fe)return n;if(null!=n){if(ag(n))return function(n){return new fe(e=>{const t=n[au]();if(V(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(n);if(cu(n))return function(n){return new fe(e=>{for(let t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}(n);if(og(n))return function(n){return new fe(e=>{n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Zp)})}(n);if(lg(n))return pg(n);if(dg(n))return function(n){return new fe(e=>{for(const t of n)if(e.next(t),e.closed)return;e.complete()})}(n);if(fg(n))return function(n){return pg(hg(n))}(n)}throw cg(n)}function pg(n){return new fe(e=>{(function(n,e){var t,i,r,s;return function(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}(this,void 0,void 0,function*(){try{for(t=NE(n);!(i=yield t.next()).done;)if(e.next(i.value),e.closed)return}catch(o){r={error:o}}finally{try{i&&!i.done&&(s=t.return)&&(yield s.call(t))}finally{if(r)throw r.error}}e.complete()})})(n,e).catch(t=>e.error(t))})}function Zn(n,e,t,i=0,r=!1){const s=e.schedule(function(){t(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function He(n,e,t=1/0){return V(e)?He((i,r)=>Z((s,o)=>e(i,s,r,o))(Zt(n(i,r))),t):("number"==typeof e&&(t=e),je((i,r)=>function(n,e,t,i,r,s,o,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&e.complete()},f=g=>c<i?p(g):l.push(g),p=g=>{c++;let _=!1;Zt(t(g,u++)).subscribe(new Ne(e,v=>{e.next(v)},()=>{_=!0},void 0,()=>{if(_)try{for(c--;l.length&&c<i;){const v=l.shift();p(v)}h()}catch(v){e.error(v)}}))};return n.subscribe(new Ne(e,f,()=>{d=!0,h()})),()=>{}}(i,r,n,t)))}function Os(n=1/0){return He(vi,n)}const Xn=new fe(n=>n.complete());function gg(n){return n&&V(n.schedule)}function uu(n){return n[n.length-1]}function mg(n){return V(uu(n))?n.pop():void 0}function Ps(n){return gg(uu(n))?n.pop():void 0}function yg(n,e=0){return je((t,i)=>{t.subscribe(new Ne(i,r=>Zn(i,n,()=>i.next(r),e),()=>Zn(i,n,()=>i.complete(),e),r=>Zn(i,n,()=>i.error(r),e)))})}function _g(n,e=0){return je((t,i)=>{i.add(n.schedule(()=>t.subscribe(i),e))})}function vg(n,e){if(!n)throw new Error("Iterable cannot be null");return new fe(t=>{Zn(t,e,()=>{const i=n[Symbol.asyncIterator]();Zn(t,e,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function Ye(n,e){return e?function(n,e){if(null!=n){if(ag(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(cu(n))return function(n,e){return new fe(t=>{let i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}(n,e);if(og(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(lg(n))return vg(n,e);if(dg(n))return function(n,e){return new fe(t=>{let i;return Zn(t,e,()=>{i=n[ug](),Zn(t,e,()=>{let r,s;try{({value:r,done:s}=i.next())}catch(o){return void t.error(o)}s?t.complete():t.next(r)},0,!0)}),()=>V(null==i?void 0:i.return)&&i.return()})}(n,e);if(fg(n))return function(n,e){return vg(hg(n),e)}(n,e)}throw cg(n)}(n,e):Zt(n)}function Ea(...n){const e=Ps(n),t=function(n,e){return"number"==typeof uu(n)?n.pop():1/0}(n),i=n;return i.length?1===i.length?Zt(i[0]):Os(t)(Ye(i,e)):Xn}function Xt(n){return n<=0?()=>Xn:je((e,t)=>{let i=0;e.subscribe(new Ne(t,r=>{++i<=n&&(t.next(r),n<=i&&t.complete())}))})}function du(n,e,...t){return!0===e?(n(),null):!1===e?null:e(...t).pipe(Xt(1)).subscribe(()=>n())}function me(n){for(let e in n)if(n[e]===me)return e;throw Error("Could not find renamed property on target object.")}function hu(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function le(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(le).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function fu(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const tM=me({__forward_ref__:me});function ve(n){return n.__forward_ref__=ve,n.toString=function(){return le(this())},n}function W(n){return bg(n)?n():n}function bg(n){return"function"==typeof n&&n.hasOwnProperty(tM)&&n.__forward_ref__===ve}class Ft extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function H(n){return"string"==typeof n?n:null==n?"":String(n)}function _t(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():H(n)}function Ma(n,e){const t=e?` in ${e}`:"";throw new Ft("201",`No provider for ${_t(n)} found${t}`)}function Lt(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function B(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function vt(n){return{providers:n.providers||[],imports:n.imports||[]}}function gu(n){return Cg(n,Sa)||Cg(n,wg)}function Cg(n,e){return n.hasOwnProperty(e)?n[e]:null}function Dg(n){return n&&(n.hasOwnProperty(mu)||n.hasOwnProperty(lM))?n[mu]:null}const Sa=me({\u0275prov:me}),mu=me({\u0275inj:me}),wg=me({ngInjectableDef:me}),lM=me({ngInjectorDef:me});var $=(()=>(($=$||{})[$.Default=0]="Default",$[$.Host=1]="Host",$[$.Self=2]="Self",$[$.SkipSelf=4]="SkipSelf",$[$.Optional=8]="Optional",$))();let yu;function bi(n){const e=yu;return yu=n,e}function xg(n,e,t){const i=gu(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&$.Optional?null:void 0!==e?e:void Ma(le(n),"Injector")}function Ci(n){return{toString:n}.toString()}var fn=(()=>((fn=fn||{})[fn.OnPush=0]="OnPush",fn[fn.Default=1]="Default",fn))(),Tn=(()=>{return(n=Tn||(Tn={}))[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom",Tn;var n})();const uM="undefined"!=typeof globalThis&&globalThis,dM="undefined"!=typeof window&&window,hM="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,ge=uM||"undefined"!=typeof global&&global||dM||hM,br={},ye=[],Aa=me({\u0275cmp:me}),_u=me({\u0275dir:me}),vu=me({\u0275pipe:me}),Eg=me({\u0275mod:me}),ei=me({\u0275fac:me}),ks=me({__NG_ELEMENT_ID__:me});let fM=0;function On(n){return Ci(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===fn.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ye,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Tn.Emulated,id:"c",styles:n.styles||ye,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=fM++,i.inputs=Ig(n.inputs,t),i.outputs=Ig(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(Mg):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(Sg):null,i})}function Mg(n){return lt(n)||function(n){return n[_u]||null}(n)}function Sg(n){return function(n){return n[vu]||null}(n)}const Ag={};function Mt(n){return Ci(()=>{const e={type:n.type,bootstrap:n.bootstrap||ye,declarations:n.declarations||ye,imports:n.imports||ye,exports:n.exports||ye,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(Ag[n.id]=n.type),e})}function Ig(n,e){if(null==n)return br;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const N=On;function lt(n){return n[Aa]||null}function Qt(n,e){const t=n[Eg]||null;if(!t&&!0===e)throw new Error(`Type ${le(n)} does not have '\u0275mod' property.`);return t}const G=11;function Pn(n){return Array.isArray(n)&&"object"==typeof n[1]}function gn(n){return Array.isArray(n)&&!0===n[1]}function Du(n){return 0!=(8&n.flags)}function Pa(n){return 2==(2&n.flags)}function ka(n){return 1==(1&n.flags)}function mn(n){return null!==n.template}function vM(n){return 0!=(512&n[2])}function Yi(n,e){return n.hasOwnProperty(ei)?n[ei]:null}class DM{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Bt(){return Og}function Og(n){return n.type.prototype.ngOnChanges&&(n.setInput=xM),wM}function wM(){const n=kg(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===br)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function xM(n,e,t,i){const r=kg(n)||function(n,e){return n[Pg]=e}(n,{previous:br,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new DM(l&&l.currentValue,e,o===br),n[i]=e}Bt.ngInherit=!0;const Pg="__ngSimpleChanges__";function kg(n){return n[Pg]||null}let Eu;function Oe(n){return!!n.listen}const Ng={createRenderer:(n,e)=>void 0!==Eu?Eu:"undefined"!=typeof document?document:void 0};function Ue(n){for(;Array.isArray(n);)n=n[0];return n}function Ra(n,e){return Ue(e[n])}function nn(n,e){return Ue(e[n.index])}function Su(n,e){return n.data[e]}function jt(n,e){const t=e[n];return Pn(t)?t:t[0]}function Au(n){return 128==(128&n[2])}function wi(n,e){return null==e?null:n[e]}function Vg(n){n[18]=0}function Iu(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const L={lFrame:Gg(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Bg(){return L.bindingsEnabled}function E(){return L.lFrame.lView}function ce(){return L.lFrame.tView}function Ke(){let n=jg();for(;null!==n&&64===n.type;)n=n.parent;return n}function jg(){return L.lFrame.currentTNode}function kn(n,e){const t=L.lFrame;t.currentTNode=n,t.isParent=e}function Tu(){return L.lFrame.isParent}function Fa(){return L.isInCheckNoChangesMode}function Na(n){L.isInCheckNoChangesMode=n}function Mr(){return L.lFrame.bindingIndex++}function jM(n,e){const t=L.lFrame;t.bindingIndex=t.bindingRootIndex=n,Pu(e)}function Pu(n){L.lFrame.currentDirectiveIndex=n}function Ru(n){L.lFrame.currentQueryIndex=n}function UM(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function zg(n,e,t){if(t&$.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&$.Host||(r=UM(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=L.lFrame=Wg();return i.currentTNode=e,i.lView=n,!0}function La(n){const e=Wg(),t=n[1];L.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Wg(){const n=L.lFrame,e=null===n?null:n.child;return null===e?Gg(n):e}function Gg(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qg(){const n=L.lFrame;return L.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Yg=qg;function Va(){const n=qg();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Ct(){return L.lFrame.selectedIndex}function xi(n){L.lFrame.selectedIndex=n}function Pe(){const n=L.lFrame;return Su(n.tView,n.selectedIndex)}function Ba(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t<i;t++){const s=n.data[t].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(n.contentHooks||(n.contentHooks=[])).push(-t,o),a&&((n.contentHooks||(n.contentHooks=[])).push(t,a),(n.contentCheckHooks||(n.contentCheckHooks=[])).push(t,a)),l&&(n.viewHooks||(n.viewHooks=[])).push(-t,l),c&&((n.viewHooks||(n.viewHooks=[])).push(t,c),(n.viewCheckHooks||(n.viewCheckHooks=[])).push(t,c)),null!=u&&(n.destroyHooks||(n.destroyHooks=[])).push(t,u)}}function ja(n,e,t){Kg(n,e,3,t)}function Ha(n,e,t,i){(3&n[2])===t&&Kg(n,e,t,i)}function Fu(n,e){let t=n[2];(3&t)===e&&(t&=2047,t+=1,n[2]=t)}function Kg(n,e,t,i){const s=null!=i?i:-1,o=e.length-1;let a=0;for(let l=void 0!==i?65535&n[18]:0;l<o;l++)if("number"==typeof e[l+1]){if(a=e[l],null!=i&&a>=i)break}else e[l]<0&&(n[18]+=65536),(a<s||-1==s)&&(ZM(n,t,e,l),n[18]=(4294901760&n[18])+l+2),l++}function ZM(n,e,t,i){const r=t[i]<0,s=t[i+1],a=n[r?-t[i]:t[i]];if(r){if(n[2]>>11<n[18]>>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Vs{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Ua(n,e,t){const i=Oe(n);let r=0;for(;r<t.length;){const s=t[r];if("number"==typeof s){if(0!==s)break;r++;const o=t[r++],a=t[r++],l=t[r++];i?n.setAttribute(e,a,l,o):e.setAttributeNS(o,a,l)}else{const o=s,a=t[++r];Lu(o)?i&&n.setProperty(e,o,a):i?n.setAttribute(e,o,a):e.setAttribute(o,a),r++}}return r}function Jg(n){return 3===n||4===n||6===n}function Lu(n){return 64===n.charCodeAt(0)}function $a(n,e){if(null!==e&&0!==e.length)if(null===n||0===n.length)n=e.slice();else{let t=-1;for(let i=0;i<e.length;i++){const r=e[i];"number"==typeof r?t=r:0===t||Zg(n,t,r,null,-1===t||2===t?e[++i]:null)}}return n}function Zg(n,e,t,i,r){let s=0,o=n.length;if(-1===e)o=-1;else for(;s<n.length;){const a=n[s++];if("number"==typeof a){if(a===e){o=-1;break}if(a>e){o=s-1;break}}}for(;s<n.length;){const a=n[s];if("number"==typeof a)break;if(a===t){if(null===i)return void(null!==r&&(n[s+1]=r));if(i===n[s+1])return void(n[s+2]=r)}s++,null!==i&&s++,null!==r&&s++}-1!==o&&(n.splice(o,0,e),s=o+1),n.splice(s++,0,t),null!==i&&n.splice(s++,0,i),null!==r&&n.splice(s++,0,r)}function Xg(n){return-1!==n}function Sr(n){return 32767&n}function Ar(n,e){let t=function(n){return n>>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Vu=!0;function za(n){const e=Vu;return Vu=n,e}let iS=0;function js(n,e){const t=ju(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,Bu(i.data,n),Bu(e,null),Bu(i.blueprint,null));const r=Wa(n,e),s=n.injectorIndex;if(Xg(r)){const o=Sr(r),a=Ar(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function Bu(n,e){n.push(0,0,0,0,0,0,0,0,e)}function ju(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Wa(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Ga(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(ks)&&(i=t[ks]),null==i&&(i=t[ks]=iS++);const r=255&i;e.data[n+(r>>5)]|=1<<r}(n,e,t)}function tm(n,e,t){if(t&$.Optional)return n;Ma(e,"NodeInjector")}function nm(n,e,t,i){if(t&$.Optional&&void 0===i&&(i=null),0==(t&($.Self|$.Host))){const r=n[9],s=bi(void 0);try{return r?r.get(e,i,t&$.Optional):xg(e,i,t&$.Optional)}finally{bi(s)}}return tm(i,e,t)}function im(n,e,t,i=$.Default,r){if(null!==n){const s=function(n){if("string"==typeof n)return n.charCodeAt(0)||0;const e=n.hasOwnProperty(ks)?n[ks]:void 0;return"number"==typeof e?e>=0?255&e:oS:e}(t);if("function"==typeof s){if(!zg(e,n,i))return i&$.Host?tm(r,t,i):nm(e,t,i,r);try{const o=s(i);if(null!=o||i&$.Optional)return o;Ma(t)}finally{Yg()}}else if("number"==typeof s){let o=null,a=ju(n,e),l=-1,c=i&$.Host?e[16][6]:null;for((-1===a||i&$.SkipSelf)&&(l=-1===a?Wa(n,e):e[a+8],-1!==l&&om(i,!1)?(o=e[1],a=Sr(l),e=Ar(l,e)):a=-1);-1!==a;){const u=e[1];if(sm(s,a,u.data)){const d=aS(a,e,t,o,i,c);if(d!==rm)return d}l=e[a+8],-1!==l&&om(i,e[1].data[a+8]===c)&&sm(s,a,e)?(o=u,a=Sr(l),e=Ar(l,e)):a=-1}}}return nm(e,t,i,r)}const rm={};function oS(){return new Ir(Ke(),E())}function aS(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=function(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,h=r?a+u:n.directiveEnd;for(let f=i?a:a+u;f<h;f++){const p=o[f];if(f<l&&t===p||f>=l&&p.type===t)return f}if(r){const f=o[l];if(f&&mn(f)&&f.type===t)return l}return null}(a,o,t,null==i?Pa(a)&&Vu:i!=o&&0!=(3&a.type),r&$.Host&&s===a);return null!==u?Hs(e,o,u,a):rm}function Hs(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Vs}(r)){const o=r;o.resolving&&function(n,e){throw new Ft("200",`Circular dependency in DI detected for ${n}`)}(_t(s[t]));const a=za(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?bi(o.injectImpl):null;zg(n,i,$.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=Og(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&bi(l),za(a),o.resolving=!1,Yg()}}return r}function sm(n,e,t){return!!(t[e+(n>>5)]&1<<n)}function om(n,e){return!(n&$.Self||n&$.Host&&e)}class Ir{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,i){return im(this._tNode,this._lView,e,i,t)}}function Hu(n){return bg(n)?()=>{const e=Hu(W(n));return e&&e()}:Yi(n)}const Or="__parameters__";function kr(n,e,t){return Ci(()=>{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const d=l.hasOwnProperty(Or)?l[Or]:Object.defineProperty(l,Or,{value:[]})[Or];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class z{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const uS=new z("AnalyzeForEntryComponents");function Rn(n,e){n.forEach(t=>Array.isArray(t)?Rn(t,e):e(t))}function lm(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Ya(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Ut(n,e,t){let i=Rr(n,e);return i>=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function zu(n,e){const t=Rr(n,e);if(t>=0)return n[1|t]}function Rr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<<t];if(e===o)return s<<t;o>e?r=s:i=s+1}return~(r<<t)}(n,e,1)}const Gs={},Gu="__NG_DI_FLAG__",Ja="ngTempTokenPath",bS=/\n/gm,fm="__source",DS=me({provide:String,useValue:me});let qs;function pm(n){const e=qs;return qs=n,e}function wS(n,e=$.Default){if(void 0===qs)throw new Error("inject() must be called from an injection context");return null===qs?xg(n,void 0,e):qs.get(n,e&$.Optional?null:void 0,e)}function P(n,e=$.Default){return(yu||wS)(W(n),e)}function qu(n){const e=[];for(let t=0;t<n.length;t++){const i=W(n[t]);if(Array.isArray(i)){if(0===i.length)throw new Error("Arguments array must have arguments.");let r,s=$.Default;for(let o=0;o<i.length;o++){const a=i[o],l=xS(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}e.push(P(r,s))}else e.push(P(i))}return e}function Ys(n,e){return n[Gu]=e,n.prototype[Gu]=e,n}function xS(n){return n[Gu]}const Ks=Ys(kr("Inject",n=>({token:n})),-1),Fn=Ys(kr("Optional"),8),Fr=Ys(kr("SkipSelf"),4);const km="__ngContext__";function ut(n,e){n[km]=e}function id(n){const e=function(n){return n[km]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function sd(n){return n.ngOriginalError}function yA(n,...e){n.error(...e)}class Vr{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=(n=e)&&n.ngErrorLogger||yA;var n;i(this._console,"ERROR",e),t&&i(this._console,"ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&sd(e);for(;t&&sd(t);)t=sd(t);return t||null}}const Vm=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(ge))();function Ln(n){return n instanceof Function?n():n}var $t=(()=>(($t=$t||{})[$t.Important=1]="Important",$t[$t.DashCase=2]="DashCase",$t))();function ad(n,e){return undefined(n,e)}function to(n){const e=n[3];return gn(e)?e[3]:e}function ld(n){return $m(n[13])}function cd(n){return $m(n[4])}function $m(n){for(;null!==n&&!gn(n);)n=n[4];return n}function jr(n,e,t,i,r){if(null!=i){let s,o=!1;gn(i)?s=i:Pn(i)&&(o=!0,i=i[0]);const a=Ue(i);0===n&&null!==t?null==r?Km(e,t,a):Ki(e,t,a,r||null,!0):1===n&&null!==t?Ki(e,t,a,r||null,!0):2===n?function(n,e,t){const i=nl(n,e);i&&function(n,e,t,i){Oe(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Ue(t)&&jr(e,n,i,s,r);for(let a=10;a<t.length;a++){const l=t[a];no(l[1],l,n,e,i,s)}}(e,n,s,t,r)}}function dd(n,e,t){return Oe(n)?n.createElement(e,t):null===t?n.createElement(e):n.createElementNS(t,e)}function Wm(n,e){const t=n[9],i=t.indexOf(e),r=e[3];1024&e[2]&&(e[2]&=-1025,Iu(r,-1)),t.splice(i,1)}function hd(n,e){if(n.length<=10)return;const t=10+e,i=n[t];if(i){const r=i[17];null!==r&&r!==n&&Wm(r,i),e>0&&(n[t-1][4]=i[4]);const s=Ya(n,10+e);!function(n,e){no(n,e,e[G],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Gm(n,e){if(!(256&e[2])){const t=e[G];Oe(t)&&t.destroyNode&&no(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return fd(n[1],n);for(;e;){let t=null;if(Pn(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Pn(e)&&fd(e[1],e),e=e[3];null===e&&(e=n),Pn(e)&&fd(e[1],e),t=e&&e[4]}e=t}}(e)}}function fd(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i<t.length;i+=2){const r=e[t[i]];if(!(r instanceof Vs)){const s=t[i+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];try{l.call(a)}finally{}}else try{s.call(r)}finally{}}}}(n,e),function(n,e){const t=n.cleanup,i=e[7];let r=-1;if(null!==t)for(let s=0;s<t.length-1;s+=2)if("string"==typeof t[s]){const o=t[s+1],a="function"==typeof o?o(e):Ue(e[o]),l=i[r=t[s+2]],c=t[s+3];"boolean"==typeof c?a.removeEventListener(t[s],l,c):c>=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;s<i.length;s++)i[s]();e[7]=null}}(n,e),1===e[1].type&&Oe(e[G])&&e[G].destroy();const t=e[17];if(null!==t&&gn(e[3])){t!==e[3]&&Wm(t,e);const i=e[19];null!==i&&i.detachView(n)}}}function qm(n,e,t){return function(n,e,t){let i=e;for(;null!==i&&40&i.type;)i=(e=i).parent;if(null===i)return t[0];if(2&i.flags){const r=n.data[i.directiveStart].encapsulation;if(r===Tn.None||r===Tn.Emulated)return null}return nn(i,t)}(n,e.parent,t)}function Ki(n,e,t,i,r){Oe(n)?n.insertBefore(e,t,i,r):e.insertBefore(t,i,r)}function Km(n,e,t){Oe(n)?n.appendChild(e,t):e.appendChild(t)}function Jm(n,e,t,i,r){null!==i?Ki(n,e,t,i,r):Km(n,e,t)}function nl(n,e){return Oe(n)?n.parentNode(e):e.parentNode}let Qm=function(n,e,t){return 40&n.type?nn(n,t):null};function il(n,e,t,i){const r=qm(n,i,e),s=e[G],a=function(n,e,t){return Qm(n,e,t)}(i.parent||e[6],i,e);if(null!=r)if(Array.isArray(t))for(let l=0;l<t.length;l++)Jm(s,r,t[l],a,!1);else Jm(s,r,t,a,!1)}function rl(n,e){if(null!==e){const t=e.type;if(3&t)return nn(e,n);if(4&t)return gd(-1,n[e.index]);if(8&t){const i=e.child;if(null!==i)return rl(n,i);{const r=n[e.index];return gn(r)?gd(-1,r):Ue(r)}}if(32&t)return ad(e,n)()||Ue(n[e.index]);{const i=ty(n,e);return null!==i?Array.isArray(i)?i[0]:rl(to(n[16]),i):rl(n,e.next)}}return null}function ty(n,e){return null!==e?n[16][6].projection[e.projection]:null}function gd(n,e){const t=10+n+1;if(t<e.length){const i=e[t],r=i[1].firstChild;if(null!==r)return rl(i,r)}return e[7]}function md(n,e,t,i,r,s,o){for(;null!=t;){const a=i[t.index],l=t.type;if(o&&0===e&&(a&&ut(Ue(a),i),t.flags|=4),64!=(64&t.flags))if(8&l)md(n,e,t.child,i,r,s,!1),jr(e,n,r,a,s);else if(32&l){const c=ad(t,i);let u;for(;u=c();)jr(e,n,r,u,s);jr(e,n,r,a,s)}else 16&l?iy(n,e,i,t,r,s):jr(e,n,r,a,s);t=o?t.projectionNext:t.next}}function no(n,e,t,i,r,s){md(t,i,n.firstChild,e,r,s,!1)}function iy(n,e,t,i,r,s){const o=t[16],l=o[6].projection[i.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)jr(e,n,r,l[c],s);else md(n,e,l,o[3],r,s,!0)}function ry(n,e,t){Oe(n)?n.setAttribute(e,"style",t):e.style.cssText=t}function yd(n,e,t){Oe(n)?""===t?n.removeAttribute(e,"class"):n.setAttribute(e,"class",t):e.className=t}function sy(n,e,t){let i=n.length;for(;;){const r=n.indexOf(e,t);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const s=e.length;if(r+s===i||n.charCodeAt(r+s)<=32)return r}t=r+1}}const oy="ng-template";function WA(n,e,t){let i=0;for(;i<n.length;){let r=n[i++];if(t&&"class"===r){if(r=n[i],-1!==sy(r.toLowerCase(),e,0))return!0}else if(1===r){for(;i<n.length&&"string"==typeof(r=n[i++]);)if(r.toLowerCase()===e)return!0;return!1}}return!1}function ay(n){return 4===n.type&&n.value!==oy}function GA(n,e,t){return e===(4!==n.type||t?n.value:oy)}function qA(n,e,t){let i=4;const r=n.attrs||[],s=function(n){for(let e=0;e<n.length;e++)if(Jg(n[e]))return e;return n.length}(r);let o=!1;for(let a=0;a<e.length;a++){const l=e[a];if("number"!=typeof l){if(!o)if(4&i){if(i=2|1&i,""!==l&&!GA(n,l,t)||""===l&&1===e.length){if(yn(i))return!1;o=!0}}else{const c=8&i?l:e[++a];if(8&i&&null!==n.attrs){if(!WA(n.attrs,c,t)){if(yn(i))return!1;o=!0}continue}const d=YA(8&i?"class":l,r,ay(n),t);if(-1===d){if(yn(i))return!1;o=!0;continue}if(""!==c){let h;h=d>s?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==sy(f,c,0)||2&i&&c!==h){if(yn(i))return!1;o=!0}}}}else{if(!o&&!yn(i)&&!yn(l))return!1;if(o&&yn(l))continue;o=!1,i=l|1&i}}return yn(i)||o}function yn(n){return 0==(1&n)}function YA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r<e.length;){const o=e[r];if(o===n)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=e[++r];for(;"string"==typeof a;)a=e[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function(n,e){let t=n.indexOf(4);if(t>-1)for(t++;t<n.length;){const i=n[t];if("number"==typeof i)return-1;if(i===e)return t;t++}return-1}(e,n)}function ly(n,e,t=!1){for(let i=0;i<e.length;i++)if(qA(n,e[i],t))return!0;return!1}function cy(n,e){return n?":not("+e.trim()+")":e}function QA(n){let e=n[0],t=1,i=2,r="",s=!1;for(;t<n.length;){let o=n[t];if("string"==typeof o)if(2&i){const a=n[++t];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!yn(o)&&(e+=cy(s,r),r=""),i=o,s=s||!yn(i);t++}return""!==r&&(e+=cy(s,r)),e}const U={};function re(n){uy(ce(),E(),Ct()+n,Fa())}function uy(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&ja(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Ha(e,s,0,t)}xi(t)}function sl(n,e){return n<<17|e<<2}function _n(n){return n>>17&32767}function _d(n){return 2|n}function ii(n){return(131068&n)>>2}function vd(n,e){return-131069&n|e<<2}function bd(n){return 1|n}function Cy(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i<t.length;i+=2){const r=t[i],s=t[i+1];if(-1!==s){const o=n.data[s];Ru(r),o.contentQueries(2,e[s],s)}}}function io(n,e,t,i,r,s,o,a,l,c){const u=e.blueprint.slice();return u[0]=r,u[2]=140|i,Vg(u),u[3]=u[15]=n,u[8]=t,u[10]=o||n&&n[10],u[G]=a||n&&n[G],u[12]=l||n&&n[12]||null,u[9]=c||n&&n[9]||null,u[6]=s,u[16]=2==e.type?n[16]:u,u}function Hr(n,e,t,i,r){let s=n.data[e];if(null===s)s=function(n,e,t,i,r){const s=jg(),o=Tu(),l=n.data[e]=function(n,e,t,i,r,s){return{type:t,index:i,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,t,e,i,r);return null===n.firstChild&&(n.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l)),l}(n,e,t,i,r),L.lFrame.inI18n&&(s.flags|=64);else if(64&s.type){s.type=t,s.value=i,s.attrs=r;const o=function(){const n=L.lFrame,e=n.currentTNode;return n.isParent?e:e.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return kn(s,!0),s}function Ur(n,e,t,i){if(0===t)return-1;const r=e.length;for(let s=0;s<t;s++)e.push(i),n.blueprint.push(i),n.data.push(null);return r}function ro(n,e,t){La(e);try{const i=n.viewQuery;null!==i&&Vd(1,i,t);const r=n.template;null!==r&&Dy(n,e,r,1,t),n.firstCreatePass&&(n.firstCreatePass=!1),n.staticContentQueries&&Cy(n,e),n.staticViewQueries&&Vd(2,n.viewQuery,t);const s=n.components;null!==s&&function(n,e){for(let t=0;t<e.length;t++)F1(n,e[t])}(e,s)}catch(i){throw n.firstCreatePass&&(n.incompleteFirstPass=!0,n.firstCreatePass=!1),i}finally{e[2]&=-5,Va()}}function $r(n,e,t,i){const r=e[2];if(256==(256&r))return;La(e);const s=Fa();try{Vg(e),function(n){L.lFrame.bindingIndex=n}(n.bindingStartIndex),null!==t&&Dy(n,e,t,2,i);const o=3==(3&r);if(!s)if(o){const c=n.preOrderCheckHooks;null!==c&&ja(e,c,null)}else{const c=n.preOrderHooks;null!==c&&Ha(e,c,0,null),Fu(e,0)}if(function(n){for(let e=ld(n);null!==e;e=cd(e)){if(!e[2])continue;const t=e[9];for(let i=0;i<t.length;i++){const r=t[i],s=r[3];0==(1024&r[2])&&Iu(s,1),r[2]|=1024}}}(e),function(n){for(let e=ld(n);null!==e;e=cd(e))for(let t=10;t<e.length;t++){const i=e[t],r=i[1];Au(i)&&$r(r,i,r.template,i[8])}}(e),null!==n.contentQueries&&Cy(n,e),!s)if(o){const c=n.contentCheckHooks;null!==c&&ja(e,c)}else{const c=n.contentHooks;null!==c&&Ha(e,c,1),Fu(e,1)}!function(n,e){const t=n.hostBindingOpCodes;if(null!==t)try{for(let i=0;i<t.length;i++){const r=t[i];if(r<0)xi(~r);else{const s=r,o=t[++i],a=t[++i];jM(o,s),a(2,e[s])}}}finally{xi(-1)}}(n,e);const a=n.components;null!==a&&function(n,e){for(let t=0;t<e.length;t++)R1(n,e[t])}(e,a);const l=n.viewQuery;if(null!==l&&Vd(2,l,i),!s)if(o){const c=n.viewCheckHooks;null!==c&&ja(e,c)}else{const c=n.viewHooks;null!==c&&Ha(e,c,2),Fu(e,2)}!0===n.firstUpdatePass&&(n.firstUpdatePass=!1),s||(e[2]&=-73),1024&e[2]&&(e[2]&=-1025,Iu(e[3],-1))}finally{Va()}}function g1(n,e,t,i){const r=e[10],s=!Fa(),o=function(n){return 4==(4&n[2])}(e);try{s&&!o&&r.begin&&r.begin(),o&&ro(n,e,i),$r(n,e,t,i)}finally{s&&!o&&r.end&&r.end()}}function Dy(n,e,t,i,r){const s=Ct(),o=2&i;try{xi(-1),o&&e.length>20&&uy(n,e,20,Fa()),t(i,r)}finally{xi(s)}}function xy(n){const e=n.tView;return null===e||e.incompleteFirstPass?n.tView=ll(1,null,n.template,n.decls,n.vars,n.directiveDefs,n.pipeDefs,n.viewQuery,n.schemas,n.consts):e}function ll(n,e,t,i,r,s,o,a,l,c){const u=20+i,d=u+r,h=function(n,e){const t=[];for(let i=0;i<e;i++)t.push(i<n?null:U);return t}(u,d),f="function"==typeof c?c():c;return h[1]={type:n,blueprint:h,template:t,queries:null,viewQuery:a,declTNode:e,data:h.slice().fill(null,u),bindingStartIndex:u,expandoStartIndex:d,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:f,incompleteFirstPass:!1}}function Ay(n,e,t){for(let i in n)if(n.hasOwnProperty(i)){const r=n[i];(t=null===t?{}:t).hasOwnProperty(i)?t[i].push(e,r):t[i]=[e,r]}return t}function Ty(n,e,t,i,r,s){const o=s.hostBindings;if(o){let a=n.hostBindingOpCodes;null===a&&(a=n.hostBindingOpCodes=[]);const l=~e.index;(function(n){let e=n.length;for(;e>0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Oy(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Py(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function A1(n,e,t){if(t){if(e.exportAs)for(let i=0;i<e.exportAs.length;i++)t[e.exportAs[i]]=n;mn(e)&&(t[""]=n)}}function ky(n,e,t){n.flags|=1,n.directiveStart=e,n.directiveEnd=e+t,n.providerIndexes=e}function Ry(n,e,t,i,r){n.data[i]=r;const s=r.factory||(r.factory=Yi(r.type)),o=new Vs(s,mn(r),null);n.blueprint[i]=o,t[i]=o,Ty(n,e,0,i,Ur(n,t,r.hostVars,U),r)}function I1(n,e,t){const i=nn(e,n),r=xy(t),s=n[10],o=cl(n,io(n,r,null,t.onPush?64:16,i,e,s,s.createRenderer(i,t),null,null));n[e.index]=o}function Vn(n,e,t,i,r,s){const o=nn(n,e);!function(n,e,t,i,r,s,o){if(null==s)Oe(n)?n.removeAttribute(e,r,t):e.removeAttribute(r);else{const a=null==o?H(s):o(s,i||"",r);Oe(n)?n.setAttribute(e,r,a,t):t?e.setAttributeNS(t,r,a):e.setAttribute(r,a)}}(e[G],o,s,n.value,t,i,r)}function T1(n,e,t,i,r,s){const o=s[e];if(null!==o){const a=i.setInput;for(let l=0;l<o.length;){const c=o[l++],u=o[l++],d=o[l++];null!==a?i.setInput(t,d,c,u):t[u]=d}}}function O1(n,e){let t=null,i=0;for(;i<e.length;){const r=e[i];if(0!==r)if(5!==r){if("number"==typeof r)break;n.hasOwnProperty(r)&&(null===t&&(t=[]),t.push(r,n[r],e[i+1])),i+=2}else i+=2;else i+=4}return t}function R1(n,e){const t=jt(e,n);if(Au(t)){const i=t[1];80&t[2]?$r(i,t,i.template,t[8]):t[5]>0&&Rd(t)}}function Rd(n){for(let i=ld(n);null!==i;i=cd(i))for(let r=10;r<i.length;r++){const s=i[r];if(1024&s[2]){const o=s[1];$r(o,s,o.template,s[8])}else s[5]>0&&Rd(s)}const t=n[1].components;if(null!==t)for(let i=0;i<t.length;i++){const r=jt(t[i],n);Au(r)&&r[5]>0&&Rd(r)}}function F1(n,e){const t=jt(e,n),i=t[1];(function(n,e){for(let t=e.length;t<n.blueprint.length;t++)e.push(n.blueprint[t])})(i,t),ro(i,t,t[8])}function cl(n,e){return n[13]?n[14][4]=e:n[13]=e,n[14]=e,e}function Fd(n){for(;n;){n[2]|=64;const e=to(n);if(vM(n)&&!e)return n;n=e}return null}function Ld(n,e,t){const i=e[10];i.begin&&i.begin();try{$r(n,e,n.template,t)}catch(r){throw jy(e,r),r}finally{i.end&&i.end()}}function Ny(n){!function(n){for(let e=0;e<n.components.length;e++){const t=n.components[e],i=id(t),r=i[1];g1(r,i,r.template,t)}}(n[8])}function Vd(n,e,t){Ru(0),e(n,t)}const j1=(()=>Promise.resolve(null))();function Ly(n){return n[7]||(n[7]=[])}function Vy(n){return n.cleanup||(n.cleanup=[])}function jy(n,e){const t=n[9],i=t?t.get(Vr,null):null;i&&i.handleError(e)}function Hy(n,e,t,i,r){for(let s=0;s<t.length;){const o=t[s++],a=t[s++],l=e[o],c=n.data[o];null!==c.setInput?c.setInput(l,r,i,a):l[a]=r}}function ri(n,e,t){const i=Ra(e,n);!function(n,e,t){Oe(n)?n.setValue(e,t):e.textContent=t}(n[G],i,t)}function ul(n,e,t){let i=t?n.styles:null,r=t?n.classes:null,s=0;if(null!==e)for(let o=0;o<e.length;o++){const a=e[o];"number"==typeof a?s=a:1==s?r=fu(r,a):2==s&&(i=fu(i,a+": "+e[++o]+";"))}t?n.styles=i:n.stylesWithoutHost=i,t?n.classes=r:n.classesWithoutHost=r}const Bd=new z("INJECTOR",-1);class Uy{get(e,t=Gs){if(t===Gs){const i=new Error(`NullInjectorError: No provider for ${le(e)}!`);throw i.name="NullInjectorError",i}return t}}const jd=new z("Set Injector scope."),so={},$1={};let Hd;function $y(){return void 0===Hd&&(Hd=new Uy),Hd}function zy(n,e=null,t=null,i){const r=Wy(n,e,t,i);return r._resolveInjectorDefTypes(),r}function Wy(n,e=null,t=null,i){return new z1(n,t,e||$y(),i)}class z1{constructor(e,t,i,r=null){this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const s=[];t&&Rn(t,a=>this.processProvider(a,e,t)),Rn([e],a=>this.processInjectorType(a,[],s)),this.records.set(Bd,zr(void 0,this));const o=this.records.get(jd);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:le(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Gs,i=$.Default){this.assertNotDestroyed();const r=pm(this),s=bi(void 0);try{if(!(i&$.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=("function"==typeof(n=e)||"object"==typeof n&&n instanceof z)&&gu(e);a=l&&this.injectableDefInScope(l)?zr(Ud(e),so):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&$.Self?$y():this.parent).get(e,t=i&$.Optional&&t===Gs?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ja]=o[Ja]||[]).unshift(le(e)),r)throw o;return function(n,e,t,i){const r=n[Ja];throw e[fm]&&r.unshift(e[fm]),n.message=function(n,e,t,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.substr(2):n;let r=le(e);if(Array.isArray(e))r=e.map(le).join(" -> ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):le(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(bS,"\n  ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ja]=null,n}(o,e,"R3InjectorError",this.source)}throw o}finally{bi(s),pm(r)}var n}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(le(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=W(e)))return!1;let r=Dg(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Dg(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{Rn(r.imports,d=>{this.processInjectorType(d,t,i)&&(void 0===u&&(u=[]),u.push(d))})}finally{}if(void 0!==u)for(let d=0;d<u.length;d++){const{ngModule:h,providers:f}=u[d];Rn(f,p=>this.processProvider(p,h,f||ye))}}this.injectorDefTypes.add(o);const l=Yi(o)||(()=>new o);this.records.set(o,zr(l,so));const c=r.providers;if(null!=c&&!a){const u=e;Rn(c,d=>this.processProvider(d,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Wr(e=W(e))?e:W(e&&e.provide);const s=(n=e,qy(n)?zr(void 0,n.useValue):zr(Gy(n),so));var n;if(Wr(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zr(void 0,so,!0),o.factory=()=>qu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===so&&(t.value=$1,t.value=t.factory()),"object"==typeof t.value&&t.value&&null!==(n=t.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(t.value),t.value;var n}injectableDefInScope(e){if(!e.providedIn)return!1;const t=W(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ud(n){const e=gu(n),t=null!==e?e.factory:Yi(n);if(null!==t)return t;if(n instanceof z)throw new Error(`Token ${le(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=function(n,e){const t=[];for(let i=0;i<n;i++)t.push(e);return t}(e,"?");throw new Error(`Can't resolve all parameters for ${le(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[Sa]||n[wg]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Gy(n,e,t){let i;if(Wr(n)){const r=W(n);return Yi(r)||Ud(r)}if(qy(n))i=()=>W(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...qu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>P(W(n.useExisting));else{const r=W(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Yi(r)||Ud(r);i=()=>new r(...qu(n.deps))}return i}function zr(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function qy(n){return null!==n&&"object"==typeof n&&DS in n}function Wr(n){return"function"==typeof n}let rt=(()=>{class n{static create(t,i){var r;if(Array.isArray(t))return zy({name:""},i,t,"");{const s=null!==(r=t.name)&&void 0!==r?r:"";return zy({name:s},t.parent,t.providers,s)}}}return n.THROW_IF_NOT_FOUND=Gs,n.NULL=new Uy,n.\u0275prov=B({token:n,providedIn:"any",factory:()=>P(Bd)}),n.__NG_ELEMENT_ID__=-1,n})();function oI(n,e){Ba(id(n)[1],Ke())}function Ce(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(mn(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=Wd(n.inputs),o.declaredInputs=Wd(n.declaredInputs),o.outputs=Wd(n.outputs);const a=r.hostBindings;a&&uI(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&lI(n,l),c&&cI(n,c),hu(n.inputs,r.inputs),hu(n.declaredInputs,r.declaredInputs),hu(n.outputs,r.outputs),mn(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(n),a===Ce&&(t=!1)}}e=Object.getPrototypeOf(e)}!function(n){let e=0,t=null;for(let i=n.length-1;i>=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=$a(r.hostAttrs,t=$a(t,r.hostAttrs))}}(i)}function Wd(n){return n===br?{}:n===ye?[]:n}function lI(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function cI(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function uI(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}let dl=null;function Gr(){if(!dl){const n=ge.Symbol;if(n&&n.iterator)dl=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const i=e[t];"entries"!==i&&"size"!==i&&Map.prototype[i]===Map.prototype.entries&&(dl=i)}}}return dl}function oo(n){return!!Gd(n)&&(Array.isArray(n)||!(n instanceof Map)&&Gr()in n)}function Gd(n){return null!==n&&("function"==typeof n||"object"==typeof n)}function dt(n,e,t){return!Object.is(n[e],t)&&(n[e]=t,!0)}function jn(n,e,t,i){const r=E();return dt(r,Mr(),e)&&(ce(),Vn(Pe(),r,n,e,t,i)),jn}function x(n,e=$.Default){const t=E();return null===t?P(n,e):im(Ke(),t,W(n),e)}function Zd(){throw new Error("invalid")}function Ze(n,e,t){const i=E();return dt(i,Mr(),e)&&function(n,e,t,i,r,s,o,a){const l=nn(e,t);let u,c=e.inputs;!a&&null!=c&&(u=c[i])?(Hy(n,t,u,i,r),Pa(e)&&function(n,e){const t=jt(e,n);16&t[2]||(t[2]|=64)}(t,e.index)):3&e.type&&(i=function(n){return"class"===n?"className":"for"===n?"htmlFor":"formaction"===n?"formAction":"innerHtml"===n?"innerHTML":"readonly"===n?"readOnly":"tabindex"===n?"tabIndex":n}(i),r=null!=o?o(r,e.value||"",i):r,Oe(s)?s.setProperty(l,i,r):Lu(i)||(l.setProperty?l.setProperty(i,r):l[i]=r))}(ce(),Pe(),i,n,e,i[G],t,!1),Ze}function Xd(n,e,t,i,r){const o=r?"class":"style";Hy(n,t,e.inputs[o],o,i)}function m(n,e,t,i){const r=E(),s=ce(),o=20+n,a=r[G],l=r[o]=dd(a,e,L.lFrame.currentNamespace),c=s.firstCreatePass?function(n,e,t,i,r,s,o){const a=e.consts,c=Hr(e,n,2,r,wi(a,s));return function(n,e,t,i){let r=!1;if(Bg()){const s=function(n,e,t){const i=n.directiveRegistry;let r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];ly(t,o.selectors,!1)&&(r||(r=[]),Ga(js(t,e),n,o.type),mn(o)?(Py(n,t),r.unshift(o)):r.push(o))}return r}(n,e,t),o=null===i?null:{"":-1};if(null!==s){r=!0,ky(t,n.data.length,s.length);for(let u=0;u<s.length;u++){const d=s[u];d.providersResolver&&d.providersResolver(d)}let a=!1,l=!1,c=Ur(n,e,s.length,null);for(let u=0;u<s.length;u++){const d=s[u];t.mergedAttrs=$a(t.mergedAttrs,d.hostAttrs),Ry(n,t,e,c,d),A1(c,d,o),null!==d.contentQueries&&(t.flags|=8),(null!==d.hostBindings||null!==d.hostAttrs||0!==d.hostVars)&&(t.flags|=128);const h=d.type.prototype;!a&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t.index),a=!0),!l&&(h.ngOnChanges||h.ngDoCheck)&&((n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t.index),l=!0),c++}!function(n,e){const i=e.directiveEnd,r=n.data,s=e.attrs,o=[];let a=null,l=null;for(let c=e.directiveStart;c<i;c++){const u=r[c],d=u.inputs,h=null===s||ay(e)?null:O1(d,s);o.push(h),a=Ay(d,c,a),l=Ay(u.outputs,c,l)}null!==a&&(a.hasOwnProperty("class")&&(e.flags|=16),a.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=o,e.inputs=a,e.outputs=l}(n,t)}o&&function(n,e,t){if(e){const i=n.localNames=[];for(let r=0;r<e.length;r+=2){const s=t[e[r+1]];if(null==s)throw new Ft("301",`Export of name '${e[r+1]}' not found!`);i.push(e[r],s)}}}(t,i,o)}t.mergedAttrs=$a(t.mergedAttrs,t.attrs)}(e,t,c,wi(a,o)),null!==c.attrs&&ul(c,c.attrs,!1),null!==c.mergedAttrs&&ul(c,c.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,c),c}(o,s,r,0,e,t,i):s.data[o];kn(c,!0);const u=c.mergedAttrs;null!==u&&Ua(a,l,u);const d=c.classes;null!==d&&yd(a,l,d);const h=c.styles;null!==h&&ry(a,l,h),64!=(64&c.flags)&&il(s,r,l,c),0===L.lFrame.elementDepthCount&&ut(l,r),L.lFrame.elementDepthCount++,ka(c)&&(function(n,e,t){!Bg()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||js(t,e),ut(i,e);const o=t.initialInputs;for(let a=r;a<s;a++){const l=n.data[a],c=mn(l);c&&I1(e,t,l);const u=Hs(e,n,a,t);ut(u,e),null!==o&&T1(0,a-r,u,l,0,o),c&&(jt(t.index,e)[8]=u)}}(n,e,t,nn(t,e)),128==(128&t.flags)&&function(n,e,t){const i=t.directiveStart,r=t.directiveEnd,o=t.index,a=L.lFrame.currentDirectiveIndex;try{xi(o);for(let l=i;l<r;l++){const c=n.data[l],u=e[l];Pu(l),(null!==c.hostBindings||0!==c.hostVars||null!==c.hostAttrs)&&Oy(c,u)}}finally{xi(-1),Pu(a)}}(n,e,t))}(s,r,c),function(n,e,t){if(Du(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s<r;s++){const o=n.data[s];o.contentQueries&&o.contentQueries(1,t[s],s)}}}(s,c,r)),null!==i&&function(n,e,t=nn){const i=e.localNames;if(null!==i){let r=e.index+1;for(let s=0;s<i.length;s+=2){const o=i[s+1],a=-1===o?t(e,n):n[o];n[r++]=a}}}(r,c)}function y(){let n=Ke();Tu()?L.lFrame.isParent=!1:(n=n.parent,kn(n,!1));const e=n;L.lFrame.elementDepthCount--;const t=ce();t.firstCreatePass&&(Ba(t,n),Du(n)&&t.queries.elementEnd(n)),null!=e.classesWithoutHost&&function(n){return 0!=(16&n.flags)}(e)&&Xd(t,e,E(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function(n){return 0!=(32&n.flags)}(e)&&Xd(t,e,E(),e.stylesWithoutHost,!1)}function Q(n,e,t,i){m(n,e,t,i),y()}function lo(n){return!!n&&"function"==typeof n.then}const Qd=function(n){return!!n&&"function"==typeof n.subscribe};function q(n,e,t,i){const r=E(),s=ce(),o=Ke();return function(n,e,t,i,r,s,o,a){const l=ka(i),u=n.firstCreatePass&&Vy(n),d=e[8],h=Ly(e);let f=!0;if(3&i.type||a){const _=nn(i,e),v=a?a(_):_,b=h.length,D=a?C=>a(Ue(C[i.index])):i.index;if(Oe(t)){let C=null;if(!a&&l&&(C=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===t&&r[s+1]===i){const a=e[7],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=s,C.__ngLastListenerFn__=s,f=!1;else{s=eh(i,e,d,s,!1);const w=t.listen(v,r,s);h.push(s,w),u&&u.push(r,D,b,b+1)}}else s=eh(i,e,d,s,!0),v.addEventListener(r,s,o),h.push(s),u&&u.push(r,D,b,o)}else s=eh(i,e,d,s,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const _=g.length;if(_)for(let v=0;v<_;v+=2){const M=e[g[v]][g[v+1]].subscribe(s),A=h.length;h.push(s,M),u&&u.push(r,i.index,A,-(A+1))}}}(s,r,r[G],o,n,e,!!t,i),q}function T_(n,e,t,i){try{return!1!==t(i)}catch(r){return jy(n,r),!1}}function eh(n,e,t,i,r){return function s(o){if(o===Function)return i;const a=2&n.flags?jt(n.index,e):e;0==(32&e[2])&&Fd(a);let l=T_(e,0,i,o),c=s.__ngNextListenerFn__;for(;c;)l=T_(e,0,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(o.preventDefault(),o.returnValue=!1),l}}function j_(n,e,t,i,r){const s=n[t+1],o=null===e;let a=i?_n(s):ii(s),l=!1;for(;0!==a&&(!1===l||o);){const u=n[a+1];ZI(n[a],e)&&(l=!0,n[a+1]=i?bd(u):_d(u)),a=i?_n(u):ii(u)}l&&(n[t+1]=i?_d(s):bd(s))}function ZI(n,e){return null===n||null==e||(Array.isArray(n)?n[1]:n)===e||!(!Array.isArray(n)||"string"!=typeof e)&&Rr(n,e)>=0}function pl(n,e){return function(n,e,t,i){const r=E(),s=ce(),o=function(n){const e=L.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}(2);s.firstUpdatePass&&function(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Ct()],o=function(n,e){return e>=n.expandoStartIndex}(n,t);(function(n,e){return 0!=(n.flags&(e?16:32))})(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=function(n){const e=L.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=co(t=nh(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=nh(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==ii(i))return n[_n(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=nh(null,n,e,l[1],i),l=co(l,e.attrs,i),function(n,e,t,i){n[_n(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s<r;s++)i=co(i,n[s].hostAttrs,t);return co(i,e.attrs,t)}(n,e,i)}return void 0!==s&&(i?e.residualClasses=s:e.residualStyles=s),t}(r,s,e,i),function(n,e,t,i,r,s){let o=s?e.classBindings:e.styleBindings,a=_n(o),l=ii(o);n[i]=t;let u,c=!1;if(Array.isArray(t)){const d=t;u=d[1],(null===u||Rr(d,u)>0)&&(c=!0)}else u=t;if(r)if(0!==l){const h=_n(n[a+1]);n[i+1]=sl(h,a),0!==h&&(n[h+1]=vd(n[h+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=sl(a,0),0!==a&&(n[a+1]=vd(n[a+1],i)),a=i;else n[i+1]=sl(l,0),0===a?a=i:n[l+1]=vd(n[l+1],i),l=i;c&&(n[i+1]=_d(n[i+1])),j_(n,u,i,!0),j_(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Rr(s,e)>=0&&(t[i+1]=bd(t[i+1]))}(e,u,n,i,s),o=sl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}(s,n,o,i),e!==U&&dt(r,o,e)&&function(n,e,t,i,r,s,o,a){if(!(3&e.type))return;const l=n.data,c=l[a+1];gl(function(n){return 1==(1&n)}(c)?X_(l,e,t,r,ii(c),o):void 0)||(gl(s)||function(n){return 2==(2&n)}(c)&&(s=X_(l,null,t,r,a,o)),function(n,e,t,i,r){const s=Oe(n);if(e)r?s?n.addClass(t,i):t.classList.add(i):s?n.removeClass(t,i):t.classList.remove(i);else{let o=-1===i.indexOf("-")?void 0:$t.DashCase;if(null==r)s?n.removeStyle(t,i,o):t.style.removeProperty(i);else{const a="string"==typeof r&&r.endsWith("!important");a&&(r=r.slice(0,-10),o|=$t.Important),s?n.setStyle(t,i,r,o):t.style.setProperty(i,r,a?"important":"")}}}(i,o,Ra(Ct(),t),r,s))}(s,s.data[Ct()],r,r[G],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=le(function(n){return n instanceof class{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}?n.changingThisBreaksApplicationSecurity:n}(n)))),n}(e,t),i,o)}(n,e,null,!0),pl}function nh(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<o&&(s=e[a],i=co(i,s.hostAttrs,r),s!==n);)a++;return null!==n&&(t.directiveStylingLast=a),i}function co(n,e,t){const i=t?1:2;let r=-1;if(null!==e)for(let s=0;s<e.length;s++){const o=e[s];"number"==typeof o?r=o:r===i&&(Array.isArray(n)||(n=void 0===n?[]:["",n]),Ut(n,o,!!t||e[++s]))}return void 0===n?null:n}function X_(n,e,t,i,r,s){const o=null===e;let a;for(;r>0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===U&&(h=d?ye:void 0);let f=d?zu(h,i):u===i?h:void 0;if(c&&!gl(f)&&(f=zu(l,i)),gl(f)&&(a=f,o))return a;const p=n[r+1];r=o?_n(p):ii(p)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=zu(l,i))}return a}function gl(n){return void 0!==n}function S(n,e=""){const t=E(),i=ce(),r=n+20,s=i.firstCreatePass?Hr(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Oe(n)?n.createText(e):n.createTextNode(e)}(t[G],e);il(i,t,o,s),kn(s,!1)}function Wt(n){return $n("",n,""),Wt}function $n(n,e,t){const i=E(),r=function(n,e,t,i){return dt(n,Mr(),t)?e+H(t)+i:U}(i,n,e,t);return r!==U&&ri(i,Ct(),r),$n}const Zi=void 0;var PT=["en",[["a","p"],["AM","PM"],Zi],[["AM","PM"],Zi,Zi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Zi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Zi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Zi,"{1} 'at' {0}",Zi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===i?1:5}];let rs={};function bv(n){return n in rs||(rs[n]=ge.ng&&ge.ng.common&&ge.ng.common.locales&&ge.ng.common.locales[n]),rs[n]}var T=(()=>((T=T||{})[T.LocaleId=0]="LocaleId",T[T.DayPeriodsFormat=1]="DayPeriodsFormat",T[T.DayPeriodsStandalone=2]="DayPeriodsStandalone",T[T.DaysFormat=3]="DaysFormat",T[T.DaysStandalone=4]="DaysStandalone",T[T.MonthsFormat=5]="MonthsFormat",T[T.MonthsStandalone=6]="MonthsStandalone",T[T.Eras=7]="Eras",T[T.FirstDayOfWeek=8]="FirstDayOfWeek",T[T.WeekendRange=9]="WeekendRange",T[T.DateFormat=10]="DateFormat",T[T.TimeFormat=11]="TimeFormat",T[T.DateTimeFormat=12]="DateTimeFormat",T[T.NumberSymbols=13]="NumberSymbols",T[T.NumberFormats=14]="NumberFormats",T[T.CurrencyCode=15]="CurrencyCode",T[T.CurrencySymbol=16]="CurrencySymbol",T[T.CurrencyName=17]="CurrencyName",T[T.Currencies=18]="Currencies",T[T.Directionality=19]="Directionality",T[T.PluralCase=20]="PluralCase",T[T.ExtraData=21]="ExtraData",T))();const ml="en-US";let Cv=ml;function sh(n,e,t,i,r){if(n=W(n),Array.isArray(n))for(let s=0;s<n.length;s++)sh(n[s],e,t,i,r);else{const s=ce(),o=E();let a=Wr(n)?n:W(n.provide),l=Gy(n);const c=Ke(),u=1048575&c.providerIndexes,d=c.directiveStart,h=c.providerIndexes>>20;if(Wr(n)||!n.multi){const f=new Vs(l,r,x),p=ah(a,e,r?u:u+h,d);-1===p?(Ga(js(c,o),s,a),oh(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(f),o.push(f)):(t[p]=f,o[p]=f)}else{const f=ah(a,e,u+h,d),p=ah(a,e,u,u+h),g=f>=0&&t[f],_=p>=0&&t[p];if(r&&!_||!r&&!g){Ga(js(c,o),s,a);const v=function(n,e,t,i,r){const s=new Vs(n,t,x);return s.multi=[],s.index=e,s.componentProviders=0,Wv(s,r,i&&!t),s}(r?OO:TO,t.length,r,i,l);!r&&_&&(t[p].providerFactory=v),oh(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(v),o.push(v)}else oh(s,n,f>-1?f:p,Wv(t[r?p:f],l,!r&&i));!r&&i&&_&&t[p].componentProviders++}}}function oh(n,e,t,i){const r=Wr(e),s=function(n){return!!n.useClass}(e);if(r||s){const l=(s?W(e.useClass):e).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Wv(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function ah(n,e,t,i){for(let r=t;r<i;r++)if(e[r]===n)return r;return-1}function TO(n,e,t,i){return lh(this.multi,[])}function OO(n,e,t,i){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Hs(t,t[1],this.providerFactory.index,i);s=a.slice(0,o),lh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],lh(r,s);return s}function lh(n,e){for(let t=0;t<n.length;t++)e.push((0,n[t])());return e}function Se(n,e=[]){return t=>{t.providersResolver=(i,r)=>function(n,e,t){const i=ce();if(i.firstCreatePass){const r=mn(n);sh(t,i.data,i.blueprint,r,!0),sh(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class Gv{}class FO{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${le(n)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=n,e}(e)}}let os=(()=>{class n{}return n.NULL=new FO,n})();function NO(){return as(Ke(),E())}function as(n,e){return new Gt(nn(n,e))}let Gt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=NO,n})();class Yv{}let si=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function(){const n=E(),t=jt(Ke().index,n);return function(n){return n[G]}(Pn(t)?t:n)}(),n})(),jO=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>null}),n})();class go{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const HO=new go("13.1.1"),ch={};function Cl(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Ue(s)),gn(s))for(let a=10;a<s.length;a++){const l=s[a],c=l[1].firstChild;null!==c&&Cl(l[1],l,c,i)}const o=t.type;if(8&o)Cl(n,e,t.child,i);else if(32&o){const a=ad(t,e);let l;for(;l=a();)i.push(l)}else if(16&o){const a=ty(e,t);if(Array.isArray(a))i.push(...a);else{const l=to(e[16]);Cl(l[1],l,a,i,!0)}}t=r?t.projectionNext:t.next}return i}class mo{constructor(e,t){this._lView=e,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,t=e[1];return Cl(t,e,t.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(gn(e)){const t=e[8],i=t?t.indexOf(this):-1;i>-1&&(hd(e,i),Ya(t,i))}this._attachedToViewContainer=!1}Gm(this._lView[1],this._lView)}onDestroy(e){!function(n,e,t,i){const r=Ly(e);null===t?r.push(i):(r.push(t),n.firstCreatePass&&Vy(n).push(i,r.length-1))}(this._lView[1],this._lView,null,e)}markForCheck(){Fd(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ld(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Na(!0);try{Ld(n,e,t)}finally{Na(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var e;this._appRef=null,no(this._lView[1],e=this._lView,e[G],2,null,null)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class UO extends mo{constructor(e){super(e),this._view=e}detectChanges(){Ny(this._view)}checkNoChanges(){!function(n){Na(!0);try{Ny(n)}finally{Na(!1)}}(this._view)}get context(){return null}}class Kv extends os{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const t=lt(e);return new uh(t,this.ngModule)}}function Jv(n){const e=[];for(let t in n)n.hasOwnProperty(t)&&e.push({propName:n[t],templateName:t});return e}const zO=new z("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Vm});class uh extends Gv{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=e.selectors.map(QA).join(","),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return Jv(this.componentDef.inputs)}get outputs(){return Jv(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,ch,r);return s!==ch||i===ch?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Yv,Ng),a=s.get(jO,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(Oe(n))return n.selectRootElement(e,t===Tn.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):dd(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),d=this.componentDef.onPush?576:528,h=function(n,e){return{components:[],scheduler:n||Vm,clean:j1,playerHandler:e||null,flags:0}}(),f=ll(0,null,null,1,0,null,null,null,null,null),p=io(null,f,h,d,null,null,o,l,a,s);let g,_;La(p);try{const v=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Hr(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(ul(l,c,!0),null!==n&&(Ua(r,n,c),null!==l.classes&&yd(r,n,l.classes),null!==l.styles&&ry(r,n,l.styles)));const u=i.createRenderer(n,e),d=io(t,xy(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Ga(js(l,t),o,e.type),Py(o,l),ky(l,t.length,1)),cl(t,d),t[20]=d}(u,this.componentDef,p,o,l);if(u)if(i)Ua(l,u,["ng-version",HO.full]);else{const{attrs:b,classes:D}=function(n){const e=[],t=[];let i=1,r=2;for(;i<n.length;){let s=n[i];if("string"==typeof s)2===r?""!==s&&e.push(s,n[++i]):8===r&&t.push(s);else{if(!yn(r))break;r=s}i++}return{attrs:e,classes:t}}(this.componentDef.selectors[0]);b&&Ua(l,u,b),D&&D.length>0&&yd(l,u,D.join(" "))}if(_=Su(f,20),void 0!==t){const b=_.projection=[];for(let D=0;D<this.ngContentSelectors.length;D++){const C=t[D];b.push(null!=C?Array.from(C):null)}}g=function(n,e,t,i,r){const s=t[1],o=function(n,e,t){const i=Ke();n.firstCreatePass&&(t.providersResolver&&t.providersResolver(t),Ry(n,i,e,Ur(n,e,1,null),t));const r=Hs(e,n,i.directiveStart,i);ut(r,e);const s=nn(i,e);return s&&ut(s,e),r}(s,t,e);if(i.components.push(o),n[8]=o,r&&r.forEach(l=>l(o,e)),e.contentQueries){const l=Ke();e.contentQueries(1,o,l.directiveStart)}const a=Ke();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(xi(a.index),Ty(t[1],a,0,a.directiveStart,a.directiveEnd,e),Oy(e,o)),o}(v,this.componentDef,p,h,[oI]),ro(f,p,null)}finally{Va()}return new qO(this.componentType,g,as(_,p),p,_)}}class qO extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new UO(r),this.componentType=e}get injector(){return new Ir(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}class oi{}class Zv{}const ls=new Map;class eb extends oi{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Kv(this);const i=Qt(e);this._bootstrapComponents=Ln(i.bootstrap),this._r3Injector=Wy(e,t,[{provide:oi,useValue:this},{provide:os,useValue:this.componentFactoryResolver}],le(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=rt.THROW_IF_NOT_FOUND,i=$.Default){return e===rt||e===oi||e===Bd?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class dh extends Zv{constructor(e){super(),this.moduleType=e,null!==Qt(e)&&function(n){const e=new Set;!function t(i){const r=Qt(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${le(e)} vs ${le(e.name)}`)}(s,ls.get(s),i),ls.set(s,i));const o=Ln(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new eb(this.moduleType,e)}}function hh(n){return e=>{setTimeout(n,void 0,e)}}const Re=class extends Jt{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const d=e;a=null===(r=d.next)||void 0===r?void 0:r.bind(d),l=null===(s=d.error)||void 0===s?void 0:s.bind(d),c=null===(o=d.complete)||void 0===o?void 0:o.bind(d)}this.__isAsync&&(l=hh(l),a&&(a=hh(a)),c&&(c=hh(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof Rt&&e.add(u),u}};Symbol;let Dn=(()=>{class n{}return n.__NG_ELEMENT_ID__=_P,n})();function _P(){return function(n,e){let t;const i=e[n.index];if(gn(i))t=i;else{let r;if(8&n.type)r=Ue(i);else{const s=e[G];r=s.createComment("");const o=nn(n,e);Ki(s,nl(s,o),r,function(n,e){return Oe(n)?n.nextSibling(e):e.nextSibling}(s,o),!1)}e[n.index]=t=function(n,e,t,i){return new Array(n,!0,!1,e,null,0,i,t,null,null)}(i,e,r,n),cl(e,t)}return new ob(t,n,e)}(Ke(),E())}const vP=Dn,ob=class extends vP{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return as(this._hostTNode,this._hostLView)}get injector(){return new Ir(this._hostTNode,this._hostLView)}get parentInjector(){const e=Wa(this._hostTNode,this._hostLView);if(Xg(e)){const t=Ar(e,this._hostLView),i=Sr(e);return new Ir(t[1].data[i+8],t)}return new Ir(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=ab(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=e&&!("function"==typeof e);let a;if(o)a=t;else{const d=t||{};a=d.index,i=d.injector,r=d.projectableNodes,s=d.ngModuleRef}const l=o?e:new uh(lt(e)),c=i||this.parentInjector;if(!s&&null==l.ngModule&&c){const d=c.get(oi,null);d&&(s=d)}const u=l.create(c,r,void 0,s);return this.insert(u.hostView,a),u}insert(e,t){const i=e._lView,r=i[1];if(gn(i[3])){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const d=i[3],h=new ob(d,d[6],d[3]);h.detach(h.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),i<s-10?(e[4]=t[r],lm(t,10+i,e)):(t.push(e),e[4]=null),e[3]=t;const o=e[17];null!==o&&t!==o&&function(n,e){const t=n[9];e[16]!==e[3][3][16]&&(n[2]=!0),null===t?n[9]=[e]:t.push(e)}(o,e);const a=e[19];null!==a&&a.insertView(n),e[2]|=128}(r,i,o,s);const a=gd(s,o),l=i[G],c=nl(l,o[7]);return null!==c&&function(n,e,t,i,r,s){i[0]=r,i[6]=e,no(n,i,t,1,r,s)}(r,o[6],l,i,c,a),e.attachToViewContainerRef(),lm(ph(o),s,e),e}move(e,t){return this.insert(e,t)}indexOf(e){const t=ab(this._lContainer);return null!==t?t.indexOf(e):-1}remove(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);i&&(Ya(ph(this._lContainer),t),Gm(i[1],i))}detach(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);return i&&null!=Ya(ph(this._lContainer),t)?new mo(i):null}_adjustIndex(e,t=0){return null==e?this.length+t:e}};function ab(n){return n[8]}function ph(n){return n[8]||(n[8]=[])}function El(...n){}const bo=new z("Application Initializer");let us=(()=>{class n{constructor(t){this.appInits=t,this.resolve=El,this.reject=El,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r<this.appInits.length;r++){const s=this.appInits[r]();if(lo(s))t.push(s);else if(Qd(s)){const o=new Promise((a,l)=>{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(P(bo,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Co=new z("AppId"),qP={provide:Co,useFactory:function(){return`${Ah()}${Ah()}${Ah()}`},deps:[]};function Ah(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Tb=new z("Platform Initializer"),ds=new z("Platform ID"),Ob=new z("appBootstrapListener");let Pb=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Ii=new z("LocaleId"),kb=new z("DefaultCurrencyCode");class YP{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}let Ml=(()=>{class n{compileModuleSync(t){return new dh(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),s=Ln(Qt(t).declarations).reduce((o,a)=>{const l=lt(a);return l&&o.push(new uh(l)),o},[]);return new YP(i,s)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const JP=(()=>Promise.resolve(0))();function Ih(n){"undefined"==typeof Zone?JP.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class ze{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Re(!1),this.onMicrotaskEmpty=new Re(!1),this.onStable=new Re(!1),this.onError=new Re(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=ge.requestAnimationFrame,e=ge.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(ge,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,Oh(n),n.isCheckStableRunning=!0,Th(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),Oh(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return Rb(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),Fb(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return Rb(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),Fb(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,Oh(n),Th(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ze.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(ze.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,XP,El,El);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const XP={};function Th(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function Oh(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function Rb(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function Fb(n){n._nesting--,Th(n)}class tk{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Re,this.onMicrotaskEmpty=new Re,this.onStable=new Re,this.onError=new Re}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let Ph=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ze.assertNotInAngularZone(),Ih(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ih(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Nb=(()=>{class n{constructor(){this._applications=new Map,kh.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return kh.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class nk{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let wn,kh=new nk;const Lb=new z("AllowMultipleToken");class Vb{constructor(e,t){this.name=e,this.token=t}}function Bb(n,e,t=[]){const i=`Platform: ${e}`,r=new z(i);return(s=[])=>{let o=jb();if(!o||o.injector.get(Lb,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:jd,useValue:"platform"});!function(n){if(wn&&!wn.destroyed&&!wn.injector.get(Lb,!1))throw new Ft("400","");wn=n.get(Hb);const e=n.get(Tb,null);e&&e.forEach(t=>t())}(rt.create({providers:a,name:i}))}return function(n){const e=jb();if(!e)throw new Ft("401","");return e}()}}function jb(){return wn&&!wn.destroyed?wn:null}let Hb=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tk:("zone.js"===n?void 0:n)||new ze({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:ze,useValue:a}];return a.run(()=>{const c=rt.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),d=u.injector.get(Vr,null);if(!d)throw new Ft("402","");return a.runOutsideAngular(()=>{const h=a.onError.subscribe({next:f=>{d.handleError(f)}});u.onDestroy(()=>{Rh(this._modules,u),h.unsubscribe()})}),function(n,e,t){try{const i=t();return lo(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(d,a,()=>{const h=u.injector.get(us);return h.runInitializers(),h.donePromise.then(()=>(function(n){Lt(n,"Expected localeId to be defined"),"string"==typeof n&&(Cv=n.toLowerCase().replace(/_/g,"-"))}(u.injector.get(Ii,ml)||ml),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=Ub({},i);return function(n,e,t){const i=new dh(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(hs);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Ft("403","");t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Ft("404","");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Ub(n,e){return Array.isArray(e)?e.reduce(Ub,n):Object.assign(Object.assign({},n),e)}let hs=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new fe(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new fe(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{ze.assertNotInAngularZone(),Ih(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const d=this._zone.onUnstable.subscribe(()=>{ze.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),d.unsubscribe()}});this.isStable=Ea(a,l.pipe(function(n={}){const{connector:e=(()=>new Jt),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=n;return s=>{let o=null,a=null,l=null,c=0,u=!1,d=!1;const h=()=>{null==a||a.unsubscribe(),a=null},f=()=>{h(),o=l=null,u=d=!1},p=()=>{const g=o;f(),null==g||g.unsubscribe()};return je((g,_)=>{c++,!d&&!u&&h();const v=l=null!=l?l:e();_.add(()=>{c--,0===c&&!d&&!u&&(a=du(p,r))}),v.subscribe(_),o||(o=new ru({next:b=>v.next(b),error:b=>{d=!0,h(),a=du(f,t,b),v.error(b)},complete:()=>{u=!0,h(),a=du(f,i),v.complete()}}),Ye(g).subscribe(o))})(s)}}()))}bootstrap(t,i){if(!this._initStatus.done)throw new Ft("405","");let r;r=t instanceof Gv?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(oi),a=r.create(rt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(Ph,null),u=c&&a.injector.get(Nb);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),Rh(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Ft("101","");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;Rh(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ob,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(P(ze),P(rt),P(Vr),P(os),P(us))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Rh(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}let Fh=(()=>{class n{}return n.__NG_ELEMENT_ID__=fk,n})();function fk(n){return function(n,e,t){if(Pa(n)&&!t){const i=jt(n.index,e);return new mo(i,i)}return 47&n.type?new mo(e[16],e):null}(Ke(),E(),16==(16&n))}class Zb{constructor(){}supports(e){return oo(e)}create(e){return new bk(e)}}const vk=(n,e)=>e;class bk{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||vk}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<Qb(i,r,s)?t:i,a=Qb(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let h=0;h<c;h++){const f=h<s.length?s[h]:s[h]=0,p=f+h;u<=p&&p<c&&(s[h]=f+1)}s[o.previousIndex]=u-c}}a!==l&&e(o,a,l)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!oo(e))throw new Error(`Error trying to diff '${le(e)}'. Only arrays and iterables are allowed`);return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let r,s,o,t=this._itHead,i=!1;if(Array.isArray(e)){this.length=e.length;for(let a=0;a<this.length;a++)s=e[a],o=this._trackByFn(a,s),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,s,o,a)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,o,a),i=!0),t=t._next}else r=0,function(n,e){if(Array.isArray(n))for(let t=0;t<n.length;t++)e(n[t]);else{const t=n[Gr()]();let i;for(;!(i=t.next()).done;)e(i.value)}}(e,a=>{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new Ck(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new Xb),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xb),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class Ck{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Dk{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class Xb{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new Dk,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Qb(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i<t.length&&(r=t[i]),i+e+r}class eC{constructor(){}supports(e){return e instanceof Map||Gd(e)}create(){return new wk}}class wk{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(e){let t;for(t=this._mapHead;null!==t;t=t._next)e(t)}forEachPreviousItem(e){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)}forEachChangedItem(e){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}diff(e){if(e){if(!(e instanceof Map||Gd(e)))throw new Error(`Error trying to diff '${le(e)}'. Only maps and objects are allowed`)}else e=new Map;return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(e,(i,r)=>{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xk(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xk{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function tC(){return new Do([new Zb])}let Do=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||tC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:tC}),n})();function nC(){return new fs([new eC])}let fs=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||nC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:nC}),n})();const Mk=[new eC],Ak=new Do([new Zb]),Ik=new fs(Mk),Tk=Bb(null,"core",[{provide:ds,useValue:"unknown"},{provide:Hb,deps:[rt]},{provide:Nb,deps:[]},{provide:Pb,deps:[]}]),Fk=[{provide:hs,useClass:hs,deps:[ze,rt,Vr,os,us]},{provide:zO,deps:[ze],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:us,useClass:us,deps:[[new Fn,bo]]},{provide:Ml,useClass:Ml,deps:[]},qP,{provide:Do,useFactory:function(){return Ak},deps:[]},{provide:fs,useFactory:function(){return Ik},deps:[]},{provide:Ii,useFactory:function(n){return n||"undefined"!=typeof $localize&&$localize.locale||ml},deps:[[new Ks(Ii),new Fn,new Fr]]},{provide:kb,useValue:"USD"}];let Lk=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(P(hs))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:Fk}),n})(),Al=null;function zn(){return Al}const qt=new z("DocumentToken");let Qi=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return P(iC)},providedIn:"platform"}),n})();const Uk=new z("Location Initialized");let iC=(()=>{class n extends Qi{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return zn().getBaseHref(this._doc)}onPopState(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){rC()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){rC()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:function(){return new iC(P(qt))},providedIn:"platform"}),n})();function rC(){return!!window.history.pushState}function jh(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function sC(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function li(n){return n&&"?"!==n[0]?"?"+n:n}let ps=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return function(n){const e=P(qt).location;return new oC(P(Qi),e&&e.origin||"")}()},providedIn:"root"}),n})();const Il=new z("appBaseHref");let oC=(()=>{class n extends ps{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return jh(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+li(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Wk=(()=>{class n extends ps{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=jh(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Hh=(()=>{class n{constructor(t,i){this._subject=new Re,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=sC(aC(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+li(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,aC(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.normalizeQueryParams=li,n.joinWithSlash=jh,n.stripTrailingSlash=sC,n.\u0275fac=function(t){return new(t||n)(P(ps),P(Qi))},n.\u0275prov=B({token:n,factory:function(){return new Hh(P(ps),P(Qi))},providedIn:"root"}),n})();function aC(n){return n.replace(/\/index.html$/,"")}var We=(()=>((We=We||{})[We.Zero=0]="Zero",We[We.One=1]="One",We[We.Two=2]="Two",We[We.Few=3]="Few",We[We.Many=4]="Many",We[We.Other=5]="Other",We))();const eR=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=bv(e);if(t)return t;const i=e.split("-")[0];if(t=bv(i),t)return t;if("en"===i)return PT;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[T.PluralCase]};class Bl{}let IR=(()=>{class n extends Bl{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(eR(i||this.locale)(t)){case We.Zero:return"zero";case We.One:return"one";case We.Two:return"two";case We.Few:return"few";case We.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(P(Ii))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function mC(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let cF=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[{provide:Bl,useClass:IR}]}),n})();const CC="browser";function DC(n){return n===CC}let fF=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>new pF(P(qt),window)}),n})();class pF{constructor(e,t){this.document=e,this.window=t,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(!this.supportsScrolling())return;const t=function(n,e){const t=n.getElementById(e)||n.getElementsByName(e)[0];if(t)return t;if("function"==typeof n.createTreeWalker&&n.body&&(n.body.createShadowRoot||n.body.attachShadow)){const i=n.createTreeWalker(n.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const s=r.shadowRoot;if(s){const o=s.getElementById(e)||s.querySelector(`[name="${e}"]`);if(o)return o}r=i.nextNode()}}return null}(this.document,e);t&&(this.scrollToElement(t),this.attemptFocus(t))}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=e)}}scrollToElement(e){const t=e.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],r-s[1])}attemptFocus(e){return e.focus(),this.document.activeElement===e}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const e=wC(this.window.history)||wC(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(e){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}function wC(n){return Object.getOwnPropertyDescriptor(n,"scrollRestoration")}class xC{}class ef extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var n;n=new ef,Al||(Al=n)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Eo=Eo||document.querySelector("base"),Eo?Eo.getAttribute("href"):null);return null==t?null:function(n){jl=jl||document.createElement("a"),jl.setAttribute("href",n);const e=jl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Eo=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return mC(document.cookie,e)}}let jl,Eo=null;const EC=new z("TRANSITION_ID"),bF=[{provide:bo,useFactory:function(n,e,t){return()=>{t.get(us).donePromise.then(()=>{const i=zn(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s<r.length;s++)i.remove(r[s])})}},deps:[EC,qt,rt],multi:!0}];class tf{static init(){var n;n=new tf,kh=n}addToWindow(e){ge.getAngularTestability=(i,r=!0)=>{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},ge.getAllAngularTestabilities=()=>e.getAllTestabilities(),ge.getAllAngularRootElements=()=>e.getAllRootElements(),ge.frameworkStabilizers||(ge.frameworkStabilizers=[]),ge.frameworkStabilizers.push(i=>{const r=ge.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?zn().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let CF=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Hl=new z("EventManagerPlugins");let Ul=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s<r.length;s++){const o=r[s];if(o.supports(t))return this._eventNameToPlugin.set(t,o),o}throw new Error(`No event manager plugin found for event ${t}`)}}return n.\u0275fac=function(t){return new(t||n)(P(Hl),P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class MC{constructor(e){this._doc=e}addGlobalEventListener(e,t,i){const r=zn().getGlobalEventTarget(this._doc,e);if(!r)throw new Error(`Unsupported event target ${r} for event ${t}`);return this.addEventListener(r,t,i)}}let SC=(()=>{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Mo=(()=>{class n extends SC{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(AC),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(AC))}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function AC(n){zn().remove(n)}const nf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},rf=/%COMP%/g;function $l(n,e,t){for(let i=0;i<e.length;i++){let r=e[i];Array.isArray(r)?$l(n,r,t):(r=r.replace(rf,n),t.push(r))}return t}function OC(n){return e=>{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sf=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new of(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Tn.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new SF(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Tn.ShadowDom:return new AF(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=$l(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(P(Ul),P(Mo),P(Co))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class of{constructor(e){this.eventManager=e,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(e,t){return t?document.createElementNS(nf[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=nf[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=nf[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&($t.DashCase|$t.Important)?e.style.setProperty(t,i,r&$t.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&$t.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,OC(i)):this.eventManager.addEventListener(e,t,OC(i))}}class SF extends of{constructor(e,t,i,r){super(e),this.component=i;const s=$l(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr="_ngcontent-%COMP%".replace(rf,r+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(rf,r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class AF extends of{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=$l(r.id,r.styles,[]);for(let o=0;o<s.length;o++){const a=document.createElement("style");a.textContent=s[o],this.shadowRoot.appendChild(a)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,i){return super.insertBefore(this.nodeOrShadowRoot(e),t,i)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let IF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const kC=["alt","control","meta","shift"],OF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},RC={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},PF={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let kF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>zn().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(kC.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&RC.hasOwnProperty(e)&&(e=RC[e]))}return OF[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),kC.forEach(s=>{s!=r&&PF[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const VF=Bb(Tk,"browser",[{provide:ds,useValue:CC},{provide:Tb,useValue:function(){ef.makeCurrent(),tf.init()},multi:!0},{provide:qt,useFactory:function(){return n=document,Eu=n,document;var n},deps:[]}]),BF=[{provide:jd,useValue:"root"},{provide:Vr,useFactory:function(){return new Vr},deps:[]},{provide:Hl,useClass:IF,multi:!0,deps:[qt,ze,ds]},{provide:Hl,useClass:kF,multi:!0,deps:[qt]},{provide:sf,useClass:sf,deps:[Ul,Mo,Co]},{provide:Yv,useExisting:sf},{provide:SC,useExisting:Mo},{provide:Mo,useClass:Mo,deps:[qt]},{provide:Ph,useClass:Ph,deps:[ze]},{provide:Ul,useClass:Ul,deps:[Hl,ze]},{provide:xC,useClass:CF,deps:[]}];let jF=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:Co,useValue:t.appId},{provide:EC,useExisting:Co},bF]}}}return n.\u0275fac=function(t){return new(t||n)(P(n,12))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:BF,imports:[cF,Lk]}),n})();"undefined"!=typeof window&&window;const ht=void 0,XF=["sl",[["d","p"],["dop.","pop."],ht],[["d","p"],["dop.","pop."],["dopoldne","popoldne"]],[["n","p","t","s","\u010d","p","s"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."],["nedelja","ponedeljek","torek","sreda","\u010detrtek","petek","sobota"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."]],ht,[["j","f","m","a","m","j","j","a","s","o","n","d"],["jan.","feb.","mar.","apr.","maj","jun.","jul.","avg.","sep.","okt.","nov.","dec."],["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"]],ht,[["pr. Kr.","po Kr."],ht,["pred Kristusom","po Kristusu"]],1,[6,0],["d. MM. yy","d. MMM y","dd. MMMM y","EEEE, dd. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1} {0}",ht,ht,ht],[",",".",";","%","+","\u2212","e","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0\xa0%","#,##0.00\xa0\xa4","#E0"],"EUR","\u20ac","evro",{AUD:[ht,"$"],BRL:[ht,"R$"],CAD:[ht,"$"],GBP:[ht,"\xa3"],MXN:[ht,"$"],NZD:[ht,"$"],PHP:[ht,"\u20b1"],TWD:[ht,"NT$"],XCD:[ht,"$"]},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 0===i&&t%100==1?1:0===i&&t%100==2?2:0===i&&t%100===Math.floor(t%100)&&t%100>=3&&t%100<=4||0!==i?3:5}];function j(...n){return Ye(n,Ps(n))}function gs(n,e){return V(e)?He(n,e,1):He(n,1)}function Yt(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>n.call(e,s,r++)&&i.next(s)))})}class LC{}class VC{}class Tt{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Tt?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Tt;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Tt?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class QF{encodeKey(e){return BC(e)}encodeValue(e){return BC(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const tN=/%(\d[a-f0-9])/gi,nN={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function BC(n){return encodeURIComponent(n).replace(tN,(e,t)=>{var i;return null!==(i=nN[t])&&void 0!==i?i:e})}function jC(n){return`${n}`}class Oi{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new QF,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Oi({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(jC(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(jC(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class iN{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}}function HC(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function UC(n){return"undefined"!=typeof Blob&&n instanceof Blob}function $C(n){return"undefined"!=typeof FormData&&n instanceof FormData}class So{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Tt),this.context||(this.context=new iN),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":a<t.length-1?"&":"")+o}}else this.params=new Oi,this.urlWithParams=t}serializeBody(){return null===this.body?null:HC(this.body)||UC(this.body)||$C(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof Oi?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||$C(this.body)?null:UC(this.body)?this.body.type||null:HC(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Oi?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){var t;const i=e.method||this.method,r=e.url||this.url,s=e.responseType||this.responseType,o=void 0!==e.body?e.body:this.body,a=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,l=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let c=e.headers||this.headers,u=e.params||this.params;const d=null!==(t=e.context)&&void 0!==t?t:this.context;return void 0!==e.setHeaders&&(c=Object.keys(e.setHeaders).reduce((h,f)=>h.set(f,e.setHeaders[f]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((h,f)=>h.set(f,e.setParams[f]),u)),new So(i,r,o,{params:u,headers:c,context:d,reportProgress:l,responseType:s,withCredentials:a})}}var qe=(()=>((qe=qe||{})[qe.Sent=0]="Sent",qe[qe.UploadProgress=1]="UploadProgress",qe[qe.ResponseHeader=2]="ResponseHeader",qe[qe.DownloadProgress=3]="DownloadProgress",qe[qe.Response=4]="Response",qe[qe.User=5]="User",qe))();class lf{constructor(e,t=200,i="OK"){this.headers=e.headers||new Tt,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class cf extends lf{constructor(e={}){super(e),this.type=qe.ResponseHeader}clone(e={}){return new cf({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zl extends lf{constructor(e={}){super(e),this.type=qe.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new zl({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zC extends lf{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function uf(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let WC=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof So)s=t;else{let l,c;l=r.headers instanceof Tt?r.headers:new Tt(r.headers),r.params&&(c=r.params instanceof Oi?r.params:new Oi({fromObject:r.params})),s=new So(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=j(s).pipe(gs(l=>this.handler.handle(l)));if(t instanceof So||"events"===r.observe)return o;const a=o.pipe(Yt(l=>l instanceof zl));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Z(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Z(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Oi).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,uf(r,i))}post(t,i,r={}){return this.request("POST",t,uf(r,i))}put(t,i,r={}){return this.request("PUT",t,uf(r,i))}}return n.\u0275fac=function(t){return new(t||n)(P(LC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class GC{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const qC=new z("HTTP_INTERCEPTORS");let oN=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const aN=/^\)\]\}',?\n/;let YC=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new fe(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((f,p)=>r.setRequestHeader(f,p.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const f=t.detectContentTypeHeader();null!==f&&r.setRequestHeader("Content-Type",f)}if(t.responseType){const f=t.responseType.toLowerCase();r.responseType="json"!==f?f:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const f=1223===r.status?204:r.status,p=r.statusText||"OK",g=new Tt(r.getAllResponseHeaders()),_=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new cf({headers:g,status:f,statusText:p,url:_}),o},l=()=>{let{headers:f,status:p,statusText:g,url:_}=a(),v=null;204!==p&&(v=void 0===r.response?r.responseText:r.response),0===p&&(p=v?200:0);let b=p>=200&&p<300;if("json"===t.responseType&&"string"==typeof v){const D=v;v=v.replace(aN,"");try{v=""!==v?JSON.parse(v):null}catch(C){v=D,b&&(b=!1,v={error:C,text:v})}}b?(i.next(new zl({body:v,headers:f,status:p,statusText:g,url:_||void 0})),i.complete()):i.error(new zC({error:v,headers:f,status:p,statusText:g,url:_||void 0}))},c=f=>{const{url:p}=a(),g=new zC({error:f,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(g)};let u=!1;const d=f=>{u||(i.next(a()),u=!0);let p={type:qe.DownloadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),"text"===t.responseType&&!!r.responseText&&(p.partialText=r.responseText),i.next(p)},h=f=>{let p={type:qe.UploadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",d),null!==s&&r.upload&&r.upload.addEventListener("progress",h)),r.send(s),i.next({type:qe.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==s&&r.upload&&r.upload.removeEventListener("progress",h)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(P(xC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const df=new z("XSRF_COOKIE_NAME"),hf=new z("XSRF_HEADER_NAME");class KC{}let cN=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=mC(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(P(qt),P(ds),P(df))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ff=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(KC),P(hf))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),uN=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(qC,[]);this.chain=i.reduceRight((r,s)=>new GC(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(VC),P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),dN=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:ff,useClass:oN}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:df,useValue:t.cookieName}:[],t.headerName?{provide:hf,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[ff,{provide:qC,useExisting:ff,multi:!0},{provide:KC,useClass:cN},{provide:df,useValue:"XSRF-TOKEN"},{provide:hf,useValue:"X-XSRF-TOKEN"}]}),n})(),hN=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[WC,{provide:LC,useClass:uN},YC,{provide:VC,useExisting:YC}],imports:[[dN.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const{isArray:fN}=Array,{getPrototypeOf:pN,prototype:gN,keys:mN}=Object;function JC(n){if(1===n.length){const e=n[0];if(fN(e))return{args:e,keys:null};if(function(n){return n&&"object"==typeof n&&pN(n)===gN}(e)){const t=mN(e);return{args:t.map(i=>e[i]),keys:t}}}return{args:n,keys:null}}const{isArray:_N}=Array;function pf(n){return Z(e=>function(n,e){return _N(e)?n(...e):n(e)}(n,e))}function ZC(n,e){return n.reduce((t,i,r)=>(t[i]=e[r],t),{})}let XC=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt))},n.\u0275dir=N({type:n}),n})(),er=(()=>{class n extends XC{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=function(n){return Ci(()=>{const e=n.prototype.constructor,t=e[ei]||Hu(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[ei]||Hu(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}(n)))(i||n)}}(),n.\u0275dir=N({type:n,features:[Ce]}),n})();const Wn=new z("NgValueAccessor"),DN={provide:Wn,useExisting:ve(()=>ms),multi:!0},xN=new z("CompositionEventMode");let ms=(()=>{class n extends XC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=zn()?zn().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt),x(xN,8))},n.\u0275dir=N({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&q("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Se([DN]),Ce]}),n})();const ft=new z("NgValidators"),ki=new z("NgAsyncValidators");function cD(n){return null!=n}function uD(n){const e=lo(n)?Ye(n):n;return Qd(e),e}function dD(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function hD(n,e){return e.map(t=>t(n))}function fD(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function gf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return dD(hD(t,e))}}(fD(n)):null}function mf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return function(...n){const e=mg(n),{args:t,keys:i}=JC(n),r=new fe(s=>{const{length:o}=t;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let d=!1;Zt(t[u]).subscribe(new Ne(s,h=>{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||s.next(i?ZC(i,a):a),s.complete())}))}});return e?r.pipe(pf(e)):r}(hD(t,e).map(uD)).pipe(Z(dD))}}(fD(n)):null}function mD(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function yf(n){return n?Array.isArray(n)?n:[n]:[]}function Wl(n,e){return Array.isArray(n)?n.includes(e):n===e}function vD(n,e){const t=yf(e);return yf(n).forEach(r=>{Wl(t,r)||t.push(r)}),t}function bD(n,e){return yf(e).filter(t=>!Wl(n,t))}class CD{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=gf(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=mf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e){this.control&&this.control.reset(e)}hasError(e,t){return!!this.control&&this.control.hasError(e,t)}getError(e,t){return this.control?this.control.getError(e,t):null}}class Ri extends CD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Et extends CD{get formDirective(){return null}get path(){return null}}class DD{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}let Gl=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Ri,2))},n.\u0275dir=N({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[Ce]}),n})(),Io=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Et,10))},n.\u0275dir=N({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))("ng-submitted",i.is("submitted"))},features:[Ce]}),n})();function To(n,e){bf(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&wD(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&wD(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function Jl(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function bf(n,e){const t=function(n){return n._rawValidators}(n);null!==e.validator?n.setValidators(mD(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=function(n){return n._rawAsyncValidators}(n);null!==e.asyncValidator?n.setAsyncValidators(mD(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();Jl(e._rawValidators,r),Jl(e._rawAsyncValidators,r)}function wD(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function Xl(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Oo="VALID",Ql="INVALID",ys="PENDING",Po="DISABLED";function wf(n){return(Ef(n)?n.validators:n)||null}function MD(n){return Array.isArray(n)?gf(n):n||null}function xf(n,e){return(Ef(e)?e.asyncValidators:n)||null}function SD(n){return Array.isArray(n)?mf(n):n||null}function Ef(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Mf{constructor(e,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=MD(this._rawValidators),this._composedAsyncValidatorFn=SD(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Oo}get invalid(){return this.status===Ql}get pending(){return this.status==ys}get disabled(){return this.status===Po}get enabled(){return this.status!==Po}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=MD(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=SD(e)}addValidators(e){this.setValidators(vD(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(vD(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(bD(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(bD(e,this._rawAsyncValidators))}hasValidator(e){return Wl(this._rawValidators,e)}hasAsyncValidator(e){return Wl(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=ys,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Po,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Oo,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Oo||this.status===ys)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Po:Oo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=ys,this._hasOwnPendingAsyncValidator=!0;const t=uD(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Sf?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof VN&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Re,this.statusChanges=new Re}_calculateStatus(){return this._allControlsDisabled()?Po:this.errors?Ql:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ys)?ys:this._anyControlsHaveStatus(Ql)?Ql:Oo}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Ef(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class ec extends Mf{constructor(e=null,t,i){super(wf(t),xf(i,t)),this._onChange=[],this._pendingChange=!1,this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){Xl(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){Xl(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Sf extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof ec?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class VN extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof ec?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const BN={provide:Et,useExisting:ve(()=>tr)},ko=(()=>Promise.resolve(null))();let tr=(()=>{class n extends Et{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Re,this.form=new Sf({},gf(t),mf(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ko.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),To(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),Xl(this._directives,t)})}addFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path),r=new Sf({});(function(n,e){bf(n,e)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){ko.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(x(ft,10),x(ki,10))},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&q("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Se([BN]),Ce]}),n})();const HN={provide:Ri,useExisting:ve(()=>Ro)},TD=(()=>Promise.resolve(null))();let Ro=(()=>{class n extends Ri{constructor(t,i,r,s){super(),this.control=new ec,this._registered=!1,this.update=new Re,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===ms?t=s:function(n){return Object.getPrototypeOf(n.constructor)===er}(s)?i=s:r=s}),r||i||t||null}(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),function(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){To(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){TD.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;TD.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(x(Et,9),x(ft,10),x(ki,10),x(Wn,10))},n.\u0275dir=N({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Se([HN]),Ce,Bt]}),n})(),Fo=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),PD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();const Af=new z("NgModelWithFormControlWarning"),sL={provide:ft,useExisting:ve(()=>_s),multi:!0};let _s=(()=>{class n{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?function(n){return function(n){return null==n||0===n.length}(n.value)?{required:!0}:null}(t):null}registerOnValidatorChange(t){this._onChange=t}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,i){2&t&&jn("required",i.required?"":null)},inputs:{required:"required"},features:[Se([sL])]}),n})(),KD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[PD]]}),n})(),dL=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})(),hL=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Af,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})();class Mn extends Jt{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){const{hasError:e,thrownError:t,_value:i}=this;if(e)throw t;return this._throwIfClosed(),i}next(e){super.next(this._value=e)}}function JD(n,e,t){n?Zn(t,n,e):e()}const nc=nt(n=>function(){n(this),this.name="EmptyError",this.message="no elements in sequence"});function No(...n){return Os(1)(Ye(n,Ps(n)))}function ic(n){return new fe(e=>{Zt(n()).subscribe(e)})}function ZD(){return je((n,e)=>{let t=null;n._refCount++;const i=new Ne(e,void 0,void 0,void 0,()=>{if(!n||n._refCount<=0||0<--n._refCount)return void(t=null);const r=n._connection,s=t;t=null,r&&(!s||r===s)&&r.unsubscribe(),e.unsubscribe()});n.subscribe(i),i.closed||(t=n.connect())})}class XD extends fe{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,ng(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:e}=this;this._subject=this._connection=null,null==e||e.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new Rt;const t=this.getSubject();e.add(this.source.subscribe(new Ne(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),e.closed&&(this._connection=null,e=Rt.EMPTY)}return e}refCount(){return ZD()(this)}}function Sn(n,e){return je((t,i)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&i.complete();t.subscribe(new Ne(i,l=>{null==r||r.unsubscribe();let c=0;const u=s++;Zt(n(l,u)).subscribe(r=new Ne(i,d=>i.next(e?e(l,d,u,c++):d),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function yL(n,e,t,i,r){return(s,o)=>{let a=t,l=e,c=0;s.subscribe(new Ne(o,u=>{const d=c++;l=a?n(l,u,d):(a=!0,u),i&&o.next(l)},r&&(()=>{a&&o.next(l),o.complete()})))}}function QD(n,e){return je(yL(n,e,arguments.length>=2,!0))}function st(n){return je((e,t)=>{let s,i=null,r=!1;i=e.subscribe(new Ne(t,void 0,void 0,o=>{s=Zt(n(o,st(n)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,s.subscribe(t))})}function Rf(n){return n<=0?()=>Xn:je((e,t)=>{let i=[];e.subscribe(new Ne(t,r=>{i.push(r),n<i.length&&i.shift()},()=>{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function e0(n=_L){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(n())))})}function _L(){return new nc}function t0(n){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>{i||t.next(n),t.complete()}))})}function vs(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Xt(1),t?t0(e):e0(()=>new nc))}function Ot(n,e,t){const i=V(n)||e||t?{next:n,error:e,complete:t}:n;return i?je((r,s)=>{var o;null===(o=i.subscribe)||void 0===o||o.call(i);let a=!0;r.subscribe(new Ne(s,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),s.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),s.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),s.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):vi}class ui{constructor(e,t){this.id=e,this.url=t}}class Ff extends ui{constructor(e,t,i="imperative",r=null){super(e,t),this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Lo extends ui{constructor(e,t,i){super(e,t),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class n0 extends ui{constructor(e,t,i){super(e,t),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class CL extends ui{constructor(e,t,i){super(e,t),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class DL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class xL extends ui{constructor(e,t,i,r,s){super(e,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class EL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ML extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class r0{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class s0{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class SL{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class AL{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class IL{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class TL{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class o0{constructor(e,t,i){this.routerEvent=e,this.position=t,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ee="primary";class OL{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function bs(n){return new OL(n)}const a0="ngNavigationCancelingError";function Nf(n){const e=Error("NavigationCancelingError: "+n);return e[a0]=!0,e}function kL(n,e,t){const i=t.path.split("/");if(i.length>n.length||"full"===t.pathMatch&&(e.hasChildren()||i.length<n.length))return null;const r={};for(let s=0;s<i.length;s++){const o=i[s],a=n[s];if(o.startsWith(":"))r[o.substring(1)]=a;else if(o!==a.path)return null}return{consumed:n.slice(0,i.length),posParams:r}}function Gn(n,e){const t=n?Object.keys(n):void 0,i=e?Object.keys(e):void 0;if(!t||!i||t.length!=i.length)return!1;let r;for(let s=0;s<t.length;s++)if(r=t[s],!l0(n[r],e[r]))return!1;return!0}function l0(n,e){if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return!1;const t=[...n].sort(),i=[...e].sort();return t.every((r,s)=>i[s]===r)}return n===e}function c0(n){return Array.prototype.concat.apply([],n)}function u0(n){return n.length>0?n[n.length-1]:null}function at(n,e){for(const t in n)n.hasOwnProperty(t)&&e(n[t],t)}function qn(n){return Qd(n)?n:lo(n)?Ye(Promise.resolve(n)):j(n)}const NL={exact:function f0(n,e,t){if(!ir(n.segments,e.segments)||!rc(n.segments,e.segments,t)||n.numberOfChildren!==e.numberOfChildren)return!1;for(const i in e.children)if(!n.children[i]||!f0(n.children[i],e.children[i],t))return!1;return!0},subset:p0},d0={exact:function(n,e){return Gn(n,e)},subset:function(n,e){return Object.keys(e).length<=Object.keys(n).length&&Object.keys(e).every(t=>l0(n[t],e[t]))},ignored:()=>!0};function h0(n,e,t){return NL[t.paths](n.root,e.root,t.matrixParams)&&d0[t.queryParams](n.queryParams,e.queryParams)&&!("exact"===t.fragment&&n.fragment!==e.fragment)}function p0(n,e,t){return g0(n,e,e.segments,t)}function g0(n,e,t,i){if(n.segments.length>t.length){const r=n.segments.slice(0,t.length);return!(!ir(r,t)||e.hasChildren()||!rc(r,t,i))}if(n.segments.length===t.length){if(!ir(n.segments,t)||!rc(n.segments,t,i))return!1;for(const r in e.children)if(!n.children[r]||!p0(n.children[r],e.children[r],i))return!1;return!0}{const r=t.slice(0,n.segments.length),s=t.slice(n.segments.length);return!!(ir(n.segments,r)&&rc(n.segments,r,i)&&n.children[ee])&&g0(n.children[ee],e,s,i)}}function rc(n,e,t){return e.every((i,r)=>d0[t](n[r].parameters,i.parameters))}class nr{constructor(e,t,i){this.root=e,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return HL.serialize(this)}}class se{constructor(e,t){this.segments=e,this.children=t,this.parent=null,at(t,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return sc(this)}}class Vo{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=bs(this.parameters)),this._parameterMap}toString(){return b0(this)}}function ir(n,e){return n.length===e.length&&n.every((t,i)=>t.path===e[i].path)}class m0{}class y0{parse(e){const t=new JL(e);return new nr(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){const t=`/${Bo(e.root,!0)}`,i=function(n){const e=Object.keys(n).map(t=>{const i=n[t];return Array.isArray(i)?i.map(r=>`${oc(t)}=${oc(r)}`).join("&"):`${oc(t)}=${oc(i)}`}).filter(t=>!!t);return e.length?`?${e.join("&")}`:""}(e.queryParams);var n;return`${t}${i}${"string"==typeof e.fragment?`#${n=e.fragment,encodeURI(n)}`:""}`}}const HL=new y0;function sc(n){return n.segments.map(e=>b0(e)).join("/")}function Bo(n,e){if(!n.hasChildren())return sc(n);if(e){const t=n.children[ee]?Bo(n.children[ee],!1):"",i=[];return at(n.children,(r,s)=>{s!==ee&&i.push(`${s}:${Bo(r,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function(n,e){let t=[];return at(n.children,(i,r)=>{r===ee&&(t=t.concat(e(i,r)))}),at(n.children,(i,r)=>{r!==ee&&(t=t.concat(e(i,r)))}),t}(n,(i,r)=>r===ee?[Bo(n.children[ee],!1)]:[`${r}:${Bo(i,!1)}`]);return 1===Object.keys(n.children).length&&null!=n.children[ee]?`${sc(n)}/${t[0]}`:`${sc(n)}/(${t.join("//")})`}}function _0(n){return encodeURIComponent(n).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function oc(n){return _0(n).replace(/%3B/gi,";")}function Lf(n){return _0(n).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ac(n){return decodeURIComponent(n)}function v0(n){return ac(n.replace(/\+/g,"%20"))}function b0(n){return`${Lf(n.path)}${function(n){return Object.keys(n).map(e=>`;${Lf(e)}=${Lf(n[e])}`).join("")}(n.parameters)}`}const WL=/^[^\/()?;=#]+/;function lc(n){const e=n.match(WL);return e?e[0]:""}const GL=/^[^=?&#]+/,YL=/^[^&#]+/;class JL{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new se([],{}):new se([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(i[ee]=new se(e,t)),i}parseSegment(){const e=lc(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new Vo(ac(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const t=lc(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=lc(this.remaining);r&&(i=r,this.capture(i))}e[ac(t)]=ac(i)}parseQueryParam(e){const t=function(n){const e=n.match(GL);return e?e[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const o=function(n){const e=n.match(YL);return e?e[0]:""}(this.remaining);o&&(i=o,this.capture(i))}const r=v0(t),s=v0(i);if(e.hasOwnProperty(r)){let o=e[r];Array.isArray(o)||(o=[o],e[r]=o),o.push(s)}else e[r]=s}parseParens(e){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=lc(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s;i.indexOf(":")>-1?(s=i.substr(0,i.indexOf(":")),this.capture(s),this.capture(":")):e&&(s=ee);const o=this.parseChildren();t[s]=1===Object.keys(o).length?o[ee]:new se([],o),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class C0{constructor(e){this._root=e}get root(){return this._root.value}parent(e){const t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){const t=Vf(e,this._root);return t?t.children.map(i=>i.value):[]}firstChild(e){const t=Vf(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){const t=Bf(e,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==e)}pathFromRoot(e){return Bf(e,this._root).map(t=>t.value)}}function Vf(n,e){if(n===e.value)return e;for(const t of e.children){const i=Vf(n,t);if(i)return i}return null}function Bf(n,e){if(n===e.value)return[e];for(const t of e.children){const i=Bf(n,t);if(i.length)return i.unshift(e),i}return[]}class di{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}}function Cs(n){const e={};return n&&n.children.forEach(t=>e[t.value.outlet]=t),e}class D0 extends C0{constructor(e,t){super(e),this.snapshot=t,jf(this,e)}toString(){return this.snapshot.toString()}}function w0(n,e){const t=function(n,e){const o=new cc([],{},{},"",{},ee,e,null,n.root,-1,{});return new E0("",new di(o,[]))}(n,e),i=new Mn([new Vo("",{})]),r=new Mn({}),s=new Mn({}),o=new Mn({}),a=new Mn(""),l=new Ds(i,r,o,a,s,ee,e,t.root);return l.snapshot=t.root,new D0(new di(l,[]),t)}class Ds{constructor(e,t,i,r,s,o,a,l){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Z(e=>bs(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Z(e=>bs(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function x0(n,e="emptyOnly"){const t=n.pathFromRoot;let i=0;if("always"!==e)for(i=t.length-1;i>=1;){const r=t[i],s=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(s.component)break;i--}}return function(n){return n.reduce((e,t)=>({params:Object.assign(Object.assign({},e.params),t.params),data:Object.assign(Object.assign({},e.data),t.data),resolve:Object.assign(Object.assign({},e.resolve),t._resolvedData)}),{params:{},data:{},resolve:{}})}(t.slice(i))}class cc{constructor(e,t,i,r,s,o,a,l,c,u,d){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this.routeConfig=l,this._urlSegment=c,this._lastPathIndex=u,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=bs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class E0 extends C0{constructor(e,t){super(t),this.url=e,jf(this,t)}toString(){return M0(this._root)}}function jf(n,e){e.value._routerState=n,e.children.forEach(t=>jf(n,t))}function M0(n){const e=n.children.length>0?` { ${n.children.map(M0).join(", ")} } `:"";return`${n.value}${e}`}function Hf(n){if(n.snapshot){const e=n.snapshot,t=n._futureSnapshot;n.snapshot=t,Gn(e.queryParams,t.queryParams)||n.queryParams.next(t.queryParams),e.fragment!==t.fragment&&n.fragment.next(t.fragment),Gn(e.params,t.params)||n.params.next(t.params),function(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;++t)if(!Gn(n[t],e[t]))return!1;return!0}(e.url,t.url)||n.url.next(t.url),Gn(e.data,t.data)||n.data.next(t.data)}else n.snapshot=n._futureSnapshot,n.data.next(n._futureSnapshot.data)}function Uf(n,e){const t=Gn(n.params,e.params)&&function(n,e){return ir(n,e)&&n.every((t,i)=>Gn(t.parameters,e[i].parameters))}(n.url,e.url);return t&&!(!n.parent!=!e.parent)&&(!n.parent||Uf(n.parent,e.parent))}function jo(n,e,t){if(t&&n.shouldReuseRoute(e.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=e.value;const r=function(n,e,t){return e.children.map(i=>{for(const r of t.children)if(n.shouldReuseRoute(i.value,r.value.snapshot))return jo(n,i,r);return jo(n,i)})}(n,e,t);return new di(i,r)}{if(n.shouldAttach(e.value)){const s=n.retrieve(e.value);if(null!==s){const o=s.route;return o.value._futureSnapshot=e.value,o.children=e.children.map(a=>jo(n,a)),o}}const i=function(n){return new Ds(new Mn(n.url),new Mn(n.params),new Mn(n.queryParams),new Mn(n.fragment),new Mn(n.data),n.outlet,n.component,n)}(e.value),r=e.children.map(s=>jo(n,s));return new di(i,r)}}function uc(n){return"object"==typeof n&&null!=n&&!n.outlets&&!n.segmentPath}function Ho(n){return"object"==typeof n&&null!=n&&n.outlets}function $f(n,e,t,i,r){let s={};return i&&at(i,(o,a)=>{s[a]=Array.isArray(o)?o.map(l=>`${l}`):`${o}`}),new nr(t.root===n?e:S0(t.root,n,e),s,r)}function S0(n,e,t){const i={};return at(n.children,(r,s)=>{i[s]=r===e?t:S0(r,e,t)}),new se(n.segments,i)}class A0{constructor(e,t,i){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=i,e&&i.length>0&&uc(i[0]))throw new Error("Root segment cannot have matrix parameters");const r=i.find(Ho);if(r&&r!==u0(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class zf{constructor(e,t,i){this.segmentGroup=e,this.processChildren=t,this.index=i}}function I0(n,e,t){if(n||(n=new se([],{})),0===n.segments.length&&n.hasChildren())return dc(n,e,t);const i=function(n,e,t){let i=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r<n.segments.length;){if(i>=t.length)return s;const o=n.segments[r],a=t[i];if(Ho(a))break;const l=`${a}`,c=i<t.length-1?t[i+1]:null;if(r>0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!O0(l,c,o))return s;i+=2}else{if(!O0(l,{},o))return s;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(n,e,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndex<n.segments.length){const s=new se(n.segments.slice(0,i.pathIndex),{});return s.children[ee]=new se(n.segments.slice(i.pathIndex),n.children),dc(s,0,r)}return i.match&&0===r.length?new se(n.segments,{}):i.match&&!n.hasChildren()?Wf(n,e,t):i.match?dc(n,0,r):Wf(n,e,t)}function dc(n,e,t){if(0===t.length)return new se(n.segments,{});{const i=function(n){return Ho(n[0])?n[0].outlets:{[ee]:n}}(t),r={};return at(i,(s,o)=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=I0(n.children[o],e,s))}),at(n.children,(s,o)=>{void 0===i[o]&&(r[o]=s)}),new se(n.segments,r)}}function Wf(n,e,t){const i=n.segments.slice(0,e);let r=0;for(;r<t.length;){const s=t[r];if(Ho(s)){const l=lV(s.outlets);return new se(i,l)}if(0===r&&uc(t[0])){i.push(new Vo(n.segments[e].path,T0(t[0]))),r++;continue}const o=Ho(s)?s.outlets[ee]:`${s}`,a=r<t.length-1?t[r+1]:null;o&&a&&uc(a)?(i.push(new Vo(o,T0(a))),r+=2):(i.push(new Vo(o,{})),r++)}return new se(i,{})}function lV(n){const e={};return at(n,(t,i)=>{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=Wf(new se([],{}),0,t))}),e}function T0(n){const e={};return at(n,(t,i)=>e[i]=`${t}`),e}function O0(n,e,t){return n==t.path&&Gn(e,t.parameters)}class uV{constructor(e,t,i,r){this.routeReuseStrategy=e,this.futureState=t,this.currState=i,this.forwardEvent=r}activate(e){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,e),Hf(this.futureState.root),this.activateChildRoutes(t,i,e)}deactivateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{const o=s.value.outlet;this.deactivateRoutes(s,r[o],i),delete r[o]}),at(r,(s,o)=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(r===s)if(r.component){const o=i.getContext(r.outlet);o&&this.deactivateChildRoutes(e,t,o.children)}else this.deactivateChildRoutes(e,t,i);else s&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(e,t){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);if(i&&i.outlet){const o=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:o,route:e,contexts:a})}}deactivateRouteAndOutlet(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{this.activateRoutes(s,r[s.value.outlet],i),this.forwardEvent(new TL(s.value.snapshot))}),e.children.length&&this.forwardEvent(new AL(e.value.snapshot))}activateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(Hf(r),r===s)if(r.component){const o=i.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,o.children)}else this.activateChildRoutes(e,t,i);else if(r.component){const o=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),o.children.onOutletReAttached(a.contexts),o.attachRef=a.componentRef,o.route=a.route.value,o.outlet&&o.outlet.attach(a.componentRef,a.route.value),Hf(a.route.value),this.activateChildRoutes(e,null,o.children)}else{const a=function(n){for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(r.snapshot),l=a?a.module.componentFactoryResolver:null;o.attachRef=null,o.route=r,o.resolver=l,o.outlet&&o.outlet.activateWith(r,l),this.activateChildRoutes(e,null,o.children)}}else this.activateChildRoutes(e,null,i)}}class Gf{constructor(e,t){this.routes=e,this.module=t}}function Fi(n){return"function"==typeof n}function rr(n){return n instanceof nr}const Uo=Symbol("INITIAL_VALUE");function $o(){return Sn(n=>function(...n){const e=Ps(n),t=mg(n),{args:i,keys:r}=JC(n);if(0===i.length)return Ye([],e);const s=new fe(function(n,e,t=vi){return i=>{JD(e,()=>{const{length:r}=n,s=new Array(r);let o=r,a=r;for(let l=0;l<r;l++)JD(e,()=>{const c=Ye(n[l],e);let u=!1;c.subscribe(new Ne(i,d=>{s[l]=d,u||(u=!0,a--),a||i.next(t(s.slice()))},()=>{--o||i.complete()}))},i)},i)}}(i,e,r?o=>ZC(r,o):vi));return t?s.pipe(pf(t)):s}(n.map(e=>e.pipe(Xt(1),function(...n){const e=Ps(n);return je((t,i)=>{(e?No(n,t,e):No(n,t)).subscribe(i)})}(Uo)))).pipe(QD((e,t)=>{let i=!1;return t.reduce((r,s,o)=>r!==Uo?r:(s===Uo&&(i=!0),i||!1!==s&&o!==t.length-1&&!rr(s)?r:s),e)},Uo),Yt(e=>e!==Uo),Z(e=>rr(e)?e:!0===e),Xt(1)))}class yV{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new zo,this.attachRef=null}}class zo{constructor(){this.contexts=new Map}onChildOutletCreated(e,t){const i=this.getOrCreateContext(e);i.outlet=t,this.contexts.set(e,i)}onChildOutletDestroyed(e){const t=this.getContext(e);t&&(t.outlet=null,t.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new yV,this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}}let qf=(()=>{class n{constructor(t,i,r,s,o){this.parentContexts=t,this.location=i,this.resolver=r,this.changeDetector=o,this.activated=null,this._activatedRoute=null,this.activateEvents=new Re,this.deactivateEvents=new Re,this.attachEvents=new Re,this.detachEvents=new Re,this.name=s||ee,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const o=(i=i||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,l=new _V(t,a,this.location.injector);this.activated=this.location.createComponent(o,this.location.length,l),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return n.\u0275fac=function(t){return new(t||n)(x(zo),x(Dn),x(os),function(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r<i;){const s=t[r];if(Jg(s))break;if(0===s)r+=2;else if("number"==typeof s)for(r++;r<i&&"string"==typeof t[r];)r++;else{if(s===e)return t[r+1];r+=2}}}return null}(Ke(),n)}("name"),x(Fh))},n.\u0275dir=N({type:n,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),n})();class _V{constructor(e,t,i){this.route=e,this.childContexts=t,this.parent=i}get(e,t){return e===Ds?this.route:e===zo?this.childContexts:this.parent.get(e,t)}}let P0=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],encapsulation:2}),n})();function k0(n,e=""){for(let t=0;t<n.length;t++){const i=n[t];vV(i,bV(e,i))}}function vV(n,e){n.children&&k0(n.children,e)}function bV(n,e){return e?n||e.path?n&&!e.path?`${n}/`:!n&&e.path?e.path:`${n}/${e.path}`:"":n}function Yf(n){const e=n.children&&n.children.map(Yf),t=e?Object.assign(Object.assign({},n),{children:e}):Object.assign({},n);return!t.component&&(e||t.loadChildren)&&t.outlet&&t.outlet!==ee&&(t.component=P0),t}function ln(n){return n.outlet||ee}function R0(n,e){const t=n.filter(i=>ln(i)===e);return t.push(...n.filter(i=>ln(i)!==e)),t}const F0={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function hc(n,e,t){var i;if(""===e.path)return"full"===e.pathMatch&&(n.hasChildren()||t.length>0)?Object.assign({},F0):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const s=(e.matcher||kL)(t,n,e);if(!s)return Object.assign({},F0);const o={};at(s.posParams,(l,c)=>{o[c]=l.path});const a=s.consumed.length>0?Object.assign(Object.assign({},o),s.consumed[s.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:s.consumed,lastChild:s.consumed.length,parameters:a,positionalParamSegments:null!==(i=s.posParams)&&void 0!==i?i:{}}}function fc(n,e,t,i,r="corrected"){if(t.length>0&&function(n,e,t){return t.some(i=>pc(n,e,i)&&ln(i)!==ee)}(n,t,i)){const o=new se(e,function(n,e,t,i){const r={};r[ee]=i,i._sourceSegment=n,i._segmentIndexShift=e.length;for(const s of t)if(""===s.path&&ln(s)!==ee){const o=new se([],{});o._sourceSegment=n,o._segmentIndexShift=e.length,r[ln(s)]=o}return r}(n,e,i,new se(t,n.children)));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:[]}}if(0===t.length&&function(n,e,t){return t.some(i=>pc(n,e,i))}(n,t,i)){const o=new se(n.segments,function(n,e,t,i,r,s){const o={};for(const a of i)if(pc(n,t,a)&&!r[ln(a)]){const l=new se([],{});l._sourceSegment=n,l._segmentIndexShift="legacy"===s?n.segments.length:e.length,o[ln(a)]=l}return Object.assign(Object.assign({},r),o)}(n,e,t,i,n.children,r));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:t}}const s=new se(n.segments,n.children);return s._sourceSegment=n,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:t}}function pc(n,e,t){return(!(n.hasChildren()||e.length>0)||"full"!==t.pathMatch)&&""===t.path}function N0(n,e,t,i){return!!(ln(n)===i||i!==ee&&pc(e,t,n))&&("**"===n.path||hc(e,n,t).matched)}function L0(n,e,t){return 0===e.length&&!n.children[t]}class Wo{constructor(e){this.segmentGroup=e||null}}class V0{constructor(e){this.urlTree=e}}function gc(n){return new fe(e=>e.error(new Wo(n)))}function B0(n){return new fe(e=>e.error(new V0(n)))}function EV(n){return new fe(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${n}'`)))}class AV{constructor(e,t,i,r,s){this.configLoader=t,this.urlSerializer=i,this.urlTree=r,this.config=s,this.allowRedirects=!0,this.ngModule=e.get(oi)}apply(){const e=fc(this.urlTree.root,[],[],this.config).segmentGroup,t=new se(e.segments,e.children);return this.expandSegmentGroup(this.ngModule,this.config,t,ee).pipe(Z(s=>this.createUrlTree(Kf(s),this.urlTree.queryParams,this.urlTree.fragment))).pipe(st(s=>{if(s instanceof V0)return this.allowRedirects=!1,this.match(s.urlTree);throw s instanceof Wo?this.noMatchError(s):s}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,ee).pipe(Z(r=>this.createUrlTree(Kf(r),e.queryParams,e.fragment))).pipe(st(r=>{throw r instanceof Wo?this.noMatchError(r):r}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,t,i){const r=e.segments.length>0?new se([],{[ee]:e}):e;return new nr(r,t,i)}expandSegmentGroup(e,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(e,t,i).pipe(Z(s=>new se([],s))):this.expandSegment(e,i,t,i.segments,r,!0)}expandChildren(e,t,i){const r=[];for(const s of Object.keys(i.children))"primary"===s?r.unshift(s):r.push(s);return Ye(r).pipe(gs(s=>{const o=i.children[s],a=R0(t,s);return this.expandSegmentGroup(e,a,o,s).pipe(Z(l=>({segment:l,outlet:s})))}),QD((s,o)=>(s[o.outlet]=o.segment,s),{}),function(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Rf(1),t?t0(e):e0(()=>new nc))}())}expandSegment(e,t,i,r,s,o){return Ye(i).pipe(gs(a=>this.expandSegmentAgainstRoute(e,t,i,a,r,s,o).pipe(st(c=>{if(c instanceof Wo)return j(null);throw c}))),vs(a=>!!a),st((a,l)=>{if(a instanceof nc||"EmptyError"===a.name){if(L0(t,r,s))return j(new se([],{}));throw new Wo(t)}throw a}))}expandSegmentAgainstRoute(e,t,i,r,s,o,a){return N0(r,t,s,o)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,s,o):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o):gc(t):gc(t)}expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,i,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,t,i,r){const s=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?B0(s):this.lineralizeSegments(i,s).pipe(He(o=>{const a=new se(o,{});return this.expandSegment(e,a,t,o,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){const{matched:a,consumedSegments:l,lastChild:c,positionalParamSegments:u}=hc(t,r,s);if(!a)return gc(t);const d=this.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?B0(d):this.lineralizeSegments(r,d).pipe(He(h=>this.expandSegment(e,t,i,h.concat(s.slice(c)),o,!1)))}matchSegmentAgainstRoute(e,t,i,r,s){if("**"===i.path)return i.loadChildren?(i._loadedConfig?j(i._loadedConfig):this.configLoader.load(e.injector,i)).pipe(Z(h=>(i._loadedConfig=h,new se(r,{})))):j(new se(r,{}));const{matched:o,consumedSegments:a,lastChild:l}=hc(t,i,r);if(!o)return gc(t);const c=r.slice(l);return this.getChildConfig(e,i,r).pipe(He(d=>{const h=d.module,f=d.routes,{segmentGroup:p,slicedSegments:g}=fc(t,a,c,f),_=new se(p.segments,p.children);if(0===g.length&&_.hasChildren())return this.expandChildren(h,f,_).pipe(Z(C=>new se(a,C)));if(0===f.length&&0===g.length)return j(new se(a,{}));const v=ln(i)===s;return this.expandSegment(h,_,f,g,v?ee:s,!0).pipe(Z(D=>new se(a.concat(D.segments),D.children)))}))}getChildConfig(e,t,i){return t.children?j(new Gf(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?j(t._loadedConfig):this.runCanLoadGuards(e.injector,t,i).pipe(He(r=>{return r?this.configLoader.load(e.injector,t).pipe(Z(s=>(t._loadedConfig=s,s))):(n=t,new fe(e=>e.error(Nf(`Cannot load children because the guard of the route "path: '${n.path}'" returned false`))));var n})):j(new Gf([],e))}runCanLoadGuards(e,t,i){const r=t.canLoad;return r&&0!==r.length?j(r.map(o=>{const a=e.get(o);let l;if((n=a)&&Fi(n.canLoad))l=a.canLoad(t,i);else{if(!Fi(a))throw new Error("Invalid CanLoad guard");l=a(t,i)}var n;return qn(l)})).pipe($o(),Ot(o=>{if(!rr(o))return;const a=Nf(`Redirecting to "${this.urlSerializer.serialize(o)}"`);throw a.url=o,a}),Z(o=>!0===o)):j(!0)}lineralizeSegments(e,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return j(i);if(r.numberOfChildren>1||!r.children[ee])return EV(e.redirectTo);r=r.children[ee]}}applyRedirectCommands(e,t,i){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,i)}applyRedirectCreatreUrlTree(e,t,i,r){const s=this.createSegmentGroup(e,t.root,i,r);return new nr(s,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){const i={};return at(e,(r,s)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[s]=t[a]}else i[s]=r}),i}createSegmentGroup(e,t,i,r){const s=this.createSegments(e,t.segments,i,r);let o={};return at(t.children,(a,l)=>{o[l]=this.createSegmentGroup(e,a,i,r)}),new se(s,o)}createSegments(e,t,i,r){return t.map(s=>s.path.startsWith(":")?this.findPosParam(e,s,r):this.findOrReturn(s,i))}findPosParam(e,t,i){const r=i[t.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${e}'. Cannot find '${t.path}'.`);return r}findOrReturn(e,t){let i=0;for(const r of t){if(r.path===e.path)return t.splice(i),r;i++}return e}}function Kf(n){const e={};for(const i of Object.keys(n.children)){const s=Kf(n.children[i]);(s.segments.length>0||s.hasChildren())&&(e[i]=s)}return function(n){if(1===n.numberOfChildren&&n.children[ee]){const e=n.children[ee];return new se(n.segments.concat(e.segments),e.children)}return n}(new se(n.segments,e))}class j0{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class mc{constructor(e,t){this.component=e,this.route=t}}function OV(n,e,t){const i=n._root;return Go(i,e?e._root:null,t,[i.value])}function yc(n,e,t){const i=function(n){if(!n)return null;for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(i?i.module.injector:t).get(n)}function Go(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=Cs(e);return n.children.forEach(o=>{(function(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=n.value,o=e?e.value:null,a=t?t.getContext(n.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(n,e,t){if("function"==typeof t)return t(n,e);switch(t){case"pathParamsChange":return!ir(n.url,e.url);case"pathParamsOrQueryParamsChange":return!ir(n.url,e.url)||!Gn(n.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Uf(n,e)||!Gn(n.queryParams,e.queryParams);default:return!Uf(n,e)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new j0(i)):(s.data=o.data,s._resolvedData=o._resolvedData),Go(n,e,s.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new mc(a.outlet.component,o))}else o&&qo(e,a,r),r.canActivateChecks.push(new j0(i)),Go(n,null,s.component?a?a.children:null:t,i,r)})(o,s[o.value.outlet],t,i.concat([o.value]),r),delete s[o.value.outlet]}),at(s,(o,a)=>qo(o,t.getContext(a),r)),r}function qo(n,e,t){const i=Cs(n),r=n.value;at(i,(s,o)=>{qo(s,r.component?e?e.children.getContext(o):null:e,t)}),t.canDeactivateChecks.push(new mc(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class zV{}function H0(n){return new fe(e=>e.error(n))}class GV{constructor(e,t,i,r,s,o){this.rootComponentType=e,this.config=t,this.urlTree=i,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=o}recognize(){const e=fc(this.urlTree.root,[],[],this.config.filter(o=>void 0===o.redirectTo),this.relativeLinkResolution).segmentGroup,t=this.processSegmentGroup(this.config,e,ee);if(null===t)return null;const i=new cc([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ee,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new di(i,t),s=new E0(this.url,r);return this.inheritParamsAndData(s._root),s}inheritParamsAndData(e){const t=e.value,i=x0(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),e.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(e,t,i){return 0===t.segments.length&&t.hasChildren()?this.processChildren(e,t):this.processSegment(e,t,t.segments,i)}processChildren(e,t){const i=[];for(const s of Object.keys(t.children)){const o=t.children[s],a=R0(e,s),l=this.processSegmentGroup(a,o,s);if(null===l)return null;i.push(...l)}const r=U0(i);return r.sort((e,t)=>e.value.outlet===ee?-1:t.value.outlet===ee?1:e.value.outlet.localeCompare(t.value.outlet)),r}processSegment(e,t,i,r){for(const s of e){const o=this.processSegmentAgainstRoute(s,t,i,r);if(null!==o)return o}return L0(t,i,r)?[]:null}processSegmentAgainstRoute(e,t,i,r){if(e.redirectTo||!N0(e,t,i,r))return null;let s,o=[],a=[];if("**"===e.path){const f=i.length>0?u0(i).parameters:{};s=new cc(i,f,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+i.length,G0(e))}else{const f=hc(t,e,i);if(!f.matched)return null;o=f.consumedSegments,a=i.slice(f.lastChild),s=new cc(o,f.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+o.length,G0(e))}const l=(n=e).children?n.children:n.loadChildren?n._loadedConfig.routes:[],{segmentGroup:c,slicedSegments:u}=fc(t,o,a,l.filter(f=>void 0===f.redirectTo),this.relativeLinkResolution);var n;if(0===u.length&&c.hasChildren()){const f=this.processChildren(l,c);return null===f?null:[new di(s,f)]}if(0===l.length&&0===u.length)return[new di(s,[])];const d=ln(e)===r,h=this.processSegment(l,c,u,d?ee:r);return null===h?null:[new di(s,h)]}}function KV(n){const e=n.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function U0(n){const e=[],t=new Set;for(const i of n){if(!KV(i)){e.push(i);continue}const r=e.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):e.push(i)}for(const i of t){const r=U0(i.children);e.push(new di(i.value,r))}return e.filter(i=>!t.has(i))}function $0(n){let e=n;for(;e._sourceSegment;)e=e._sourceSegment;return e}function z0(n){let e=n,t=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,t+=e._segmentIndexShift?e._segmentIndexShift:0;return t-1}function W0(n){return n.data||{}}function G0(n){return n.resolve||{}}function Jf(n){return Sn(e=>{const t=n(e);return t?Ye(t).pipe(Z(()=>e)):j(e)})}class i2 extends class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}}{}const Zf=new z("ROUTES");class q0{constructor(e,t,i,r){this.injector=e,this.compiler=t,this.onLoadStartListener=i,this.onLoadEndListener=r}load(e,t){if(t._loader$)return t._loader$;this.onLoadStartListener&&this.onLoadStartListener(t);const r=this.loadModuleFactory(t.loadChildren).pipe(Z(s=>{this.onLoadEndListener&&this.onLoadEndListener(t);const o=s.create(e);return new Gf(c0(o.injector.get(Zf,void 0,$.Self|$.Optional)).map(Yf),o)}),st(s=>{throw t._loader$=void 0,s}));return t._loader$=new XD(r,()=>new Jt).pipe(ZD()),t._loader$}loadModuleFactory(e){return qn(e()).pipe(He(t=>t instanceof Zv?j(t):Ye(this.compiler.compileModuleAsync(t))))}}class s2{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}}function o2(n){throw n}function a2(n,e,t){return e.parse("/")}function Y0(n,e){return j(null)}const l2={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},c2={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Pt=(()=>{class n{constructor(t,i,r,s,o,a,l){this.rootComponentType=t,this.urlSerializer=i,this.rootContexts=r,this.location=s,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new Jt,this.errorHandler=o2,this.malformedUriErrorHandler=a2,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Y0,afterPreactivation:Y0},this.urlHandlingStrategy=new s2,this.routeReuseStrategy=new i2,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=o.get(oi),this.console=o.get(Pb);const d=o.get(ze);this.isNgZoneEnabled=d instanceof ze&&ze.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=new nr(new se([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new q0(o,a,h=>this.triggerEvent(new r0(h)),h=>this.triggerEvent(new s0(h))),this.routerState=w0(this.currentUrlTree,this.rootComponentType),this.transitions=new Mn({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var t;return null===(t=this.location.getState())||void 0===t?void 0:t.\u0275routerPageId}setupNavigations(t){const i=this.events;return t.pipe(Yt(r=>0!==r.id),Z(r=>Object.assign(Object.assign({},r),{extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),Sn(r=>{let s=!1,o=!1;return j(r).pipe(Ot(a=>{this.currentNavigation={id:a.id,initialUrl:a.currentRawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Sn(a=>{const l=this.browserUrlTree.toString(),c=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||c)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return _c(a.source)&&(this.browserUrlTree=a.extractedUrl),j(a).pipe(Sn(d=>{const h=this.transitions.getValue();return i.next(new Ff(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?Xn:Promise.resolve(d)}),function(n,e,t,i){return Sn(r=>function(n,e,t,i,r){return new AV(n,e,t,i,r).apply()}(n,e,t,r.extractedUrl,i).pipe(Z(s=>Object.assign(Object.assign({},r),{urlAfterRedirects:s}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Ot(d=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:d.urlAfterRedirects})}),function(n,e,t,i,r){return He(s=>function(n,e,t,i,r="emptyOnly",s="legacy"){try{const o=new GV(n,e,t,i,r,s).recognize();return null===o?H0(new zV):j(o)}catch(o){return H0(o)}}(n,e,s.urlAfterRedirects,t(s.urlAfterRedirects),i,r).pipe(Z(o=>Object.assign(Object.assign({},s),{targetSnapshot:o}))))}(this.rootComponentType,this.config,d=>this.serializeUrl(d),this.paramsInheritanceStrategy,this.relativeLinkResolution),Ot(d=>{if("eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new DL(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(c&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:_}=a,v=new Ff(h,this.serializeUrl(f),p,g);i.next(v);const b=w0(f,this.rootComponentType).snapshot;return j(Object.assign(Object.assign({},a),{targetSnapshot:b,urlAfterRedirects:f,extras:Object.assign(Object.assign({},_),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=a.rawUrl,a.resolve(null),Xn}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.beforePreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Ot(a=>{const l=new wL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),Z(a=>Object.assign(Object.assign({},a),{guards:OV(a.targetSnapshot,a.currentSnapshot,this.rootContexts)})),function(n,e){return He(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:o}}=t;return 0===o.length&&0===s.length?j(Object.assign(Object.assign({},t),{guardsResult:!0})):function(n,e,t,i){return Ye(n).pipe(He(r=>function(n,e,t,i,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return s&&0!==s.length?j(s.map(a=>{const l=yc(a,e,r);let c;if(function(n){return n&&Fi(n.canDeactivate)}(l))c=qn(l.canDeactivate(n,e,t,i));else{if(!Fi(l))throw new Error("Invalid CanDeactivate guard");c=qn(l(n,e,t,i))}return c.pipe(vs())})).pipe($o()):j(!0)}(r.component,r.route,t,e,i)),vs(r=>!0!==r,!0))}(o,i,r,n).pipe(He(a=>a&&function(n){return"boolean"==typeof n}(a)?function(n,e,t,i){return Ye(e).pipe(gs(r=>No(function(n,e){return null!==n&&e&&e(new SL(n)),j(!0)}(r.route.parent,i),function(n,e){return null!==n&&e&&e(new IL(n)),j(!0)}(r.route,i),function(n,e,t){const i=e[e.length-1],s=e.slice(0,e.length-1).reverse().map(o=>function(n){const e=n.routeConfig?n.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:n,guards:e}:null}(o)).filter(o=>null!==o).map(o=>ic(()=>j(o.guards.map(l=>{const c=yc(l,o.node,t);let u;if(function(n){return n&&Fi(n.canActivateChild)}(c))u=qn(c.canActivateChild(i,n));else{if(!Fi(c))throw new Error("Invalid CanActivateChild guard");u=qn(c(i,n))}return u.pipe(vs())})).pipe($o())));return j(s).pipe($o())}(n,r.path,t),function(n,e,t){const i=e.routeConfig?e.routeConfig.canActivate:null;if(!i||0===i.length)return j(!0);const r=i.map(s=>ic(()=>{const o=yc(s,e,t);let a;if(function(n){return n&&Fi(n.canActivate)}(o))a=qn(o.canActivate(e,n));else{if(!Fi(o))throw new Error("Invalid CanActivate guard");a=qn(o(e,n))}return a.pipe(vs())}));return j(r).pipe($o())}(n,r.route,t))),vs(r=>!0!==r,!0))}(i,s,n,e):j(a)),Z(a=>Object.assign(Object.assign({},t),{guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Ot(a=>{if(rr(a.guardsResult)){const c=Nf(`Redirecting to "${this.serializeUrl(a.guardsResult)}"`);throw c.url=a.guardsResult,c}const l=new xL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Yt(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,""),!1)),Jf(a=>{if(a.guards.canActivateChecks.length)return j(a).pipe(Ot(l=>{const c=new EL(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}),Sn(l=>{let c=!1;return j(l).pipe(function(n,e){return He(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return j(t);let s=0;return Ye(r).pipe(gs(o=>function(n,e,t,i){return function(n,e,t,i){const r=Object.keys(n);if(0===r.length)return j({});const s={};return Ye(r).pipe(He(o=>function(n,e,t,i){const r=yc(n,e,i);return qn(r.resolve?r.resolve(e,t):r(e,t))}(n[o],e,t,i).pipe(Ot(a=>{s[o]=a}))),Rf(1),He(()=>Object.keys(s).length===r.length?j(s):Xn))}(n._resolve,n,e,i).pipe(Z(s=>(n._resolvedData=s,n.data=Object.assign(Object.assign({},n.data),x0(n,t).resolve),null)))}(o.route,i,n,e)),Ot(()=>s++),Rf(1),He(o=>s===r.length?j(t):Xn))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Ot({next:()=>c=!0,complete:()=>{c||(this.restoreHistory(l),this.cancelNavigationTransition(l,"At least one route resolver didn't emit any value."))}}))}),Ot(l=>{const c=new ML(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}))}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.afterPreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Z(a=>{const l=function(n,e,t){const i=jo(n,e._root,t?t._root:void 0);return new D0(i,e)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return Object.assign(Object.assign({},a),{targetRouterState:l})}),Ot(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((n,e,t)=>Z(i=>(new uV(e,i.targetRouterState,i.currentRouterState,t).activate(n),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Ot({next(){s=!0},complete(){s=!0}}),function(n){return je((e,t)=>{try{e.subscribe(t)}finally{t.add(n)}})}(()=>{var a;s||o||this.cancelNavigationTransition(r,`Navigation ID ${r.id} is not equal to the current navigation id ${this.navigationId}`),(null===(a=this.currentNavigation)||void 0===a?void 0:a.id)===r.id&&(this.currentNavigation=null)}),st(a=>{if(o=!0,function(n){return n&&n[a0]}(a)){const l=rr(a.url);l||(this.navigated=!0,this.restoreHistory(r,!0));const c=new n0(r.id,this.serializeUrl(r.extractedUrl),a.message);i.next(c),l?setTimeout(()=>{const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),d={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||_c(r.source)};this.scheduleNavigation(u,"imperative",null,d,{resolve:r.resolve,reject:r.reject,promise:r.promise})},0):r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new CL(r.id,this.serializeUrl(r.extractedUrl),a);i.next(l);try{r.resolve(this.errorHandler(a))}catch(c){r.reject(c)}}return Xn}))}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{var r;const s={replaceUrl:!0},o=(null===(r=t.state)||void 0===r?void 0:r.navigationId)?t.state:null;if(o){const l=Object.assign({},o);delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(s.state=l)}const a=this.parseUrl(t.url);this.scheduleNavigation(a,i,o,s)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){k0(t),this.config=t.map(Yf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,i={}){const{relativeTo:r,queryParams:s,fragment:o,queryParamsHandling:a,preserveFragment:l}=i,c=r||this.routerState.root,u=l?this.currentUrlTree.fragment:o;let d=null;switch(a){case"merge":d=Object.assign(Object.assign({},this.currentUrlTree.queryParams),s);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=s||null}return null!==d&&(d=this.removeEmptyProps(d)),function(n,e,t,i,r){if(0===t.length)return $f(e.root,e.root,e,i,r);const s=function(n){if("string"==typeof n[0]&&1===n.length&&"/"===n[0])return new A0(!0,0,n);let e=0,t=!1;const i=n.reduce((r,s,o)=>{if("object"==typeof s&&null!=s){if(s.outlets){const a={};return at(s.outlets,(l,c)=>{a[c]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(s.segmentPath)return[...r,s.segmentPath]}return"string"!=typeof s?[...r,s]:0===o?(s.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?e++:""!=a&&r.push(a))}),r):[...r,s]},[]);return new A0(t,e,i)}(t);if(s.toRoot())return $f(e.root,new se([],{}),e,i,r);const o=function(n,e,t){if(n.isAbsolute)return new zf(e.root,!0,0);if(-1===t.snapshot._lastPathIndex){const s=t.snapshot._urlSegment;return new zf(s,s===e.root,0)}const i=uc(n.commands[0])?0:1;return function(n,e,t){let i=n,r=e,s=t;for(;s>r;){if(s-=r,i=i.parent,!i)throw new Error("Invalid number of '../'");r=i.segments.length}return new zf(i,!1,r-s)}(t.snapshot._urlSegment,t.snapshot._lastPathIndex+i,n.numberOfDoubleDots)}(s,e,n),a=o.processChildren?dc(o.segmentGroup,o.index,s.commands):I0(o.segmentGroup,o.index,s.commands);return $f(o.segmentGroup,a,e,i,r)}(c,this.currentUrlTree,t,d,null!=u?u:null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=rr(t)?t:this.parseUrl(t),s=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(s,"imperative",null,i)}navigate(t,i={skipLocationChange:!1}){return function(n){for(let e=0;e<n.length;e++){const t=n[e];if(null==t)throw new Error(`The requested path contains ${t} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,i),i)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let i;try{i=this.urlSerializer.parse(t)}catch(r){i=this.malformedUriErrorHandler(r,this.urlSerializer,t)}return i}isActive(t,i){let r;if(r=!0===i?Object.assign({},l2):!1===i?Object.assign({},c2):i,rr(t))return h0(this.currentUrlTree,t,r);const s=this.parseUrl(t);return h0(this.currentUrlTree,s,r)}removeEmptyProps(t){return Object.keys(t).reduce((i,r)=>{const s=t[r];return null!=s&&(i[r]=s),i},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId,this.events.next(new Lo(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}scheduleNavigation(t,i,r,s,o){var a,l,c;if(this.disposed)return Promise.resolve(!1);const u=this.transitions.value,d=_c(i)&&u&&!_c(u.source),h=u.rawUrl.toString()===t.toString(),f=u.id===(null===(a=this.currentNavigation)||void 0===a?void 0:a.id);if(d&&h&&f)return Promise.resolve(!0);let g,_,v;o?(g=o.resolve,_=o.reject,v=o.promise):v=new Promise((C,w)=>{g=C,_=w});const b=++this.navigationId;let D;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),D=r&&r.\u0275routerPageId?r.\u0275routerPageId:s.replaceUrl||s.skipLocationChange?null!==(l=this.browserPageId)&&void 0!==l?l:0:(null!==(c=this.browserPageId)&&void 0!==c?c:0)+1):D=0,this.setTransition({id:b,targetPageId:D,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:s,resolve:g,reject:_,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(C=>Promise.reject(C))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t),s=Object.assign(Object.assign({},i.extras.state),this.generateNgRouterState(i.id,i.targetPageId));this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",s):this.location.go(r,"",s)}restoreHistory(t,i=!1){var r,s;if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-t.targetPageId;"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)||0===o?this.currentUrlTree===(null===(s=this.currentNavigation)||void 0===s?void 0:s.finalUrl)&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(t,i){const r=new n0(t.id,this.serializeUrl(t.extractedUrl),i);this.triggerEvent(r),t.resolve(!1)}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function _c(n){return"imperative"!==n}class K0{}class J0{preload(e,t){return j(null)}}let Z0=(()=>{class n{constructor(t,i,r,s){this.router=t,this.injector=r,this.preloadingStrategy=s,this.loader=new q0(r,i,l=>t.triggerEvent(new r0(l)),l=>t.triggerEvent(new s0(l)))}setUpPreloading(){this.subscription=this.router.events.pipe(Yt(t=>t instanceof Lo),gs(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(oi);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const s of i)if(s.loadChildren&&!s.canLoad&&s._loadedConfig){const o=s._loadedConfig;r.push(this.processRoutes(o.module,o.routes))}else s.loadChildren&&!s.canLoad?r.push(this.preloadConfig(t,s)):s.children&&r.push(this.processRoutes(t,s.children));return Ye(r).pipe(Os(),Z(s=>{}))}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>(i._loadedConfig?j(i._loadedConfig):this.loader.load(t.injector,i)).pipe(He(s=>(i._loadedConfig=s,this.processRoutes(s.module,s.routes)))))}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(Ml),P(rt),P(K0))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ep=(()=>{class n{constructor(t,i,r={}){this.router=t,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Ff?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Lo&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof o0&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.router.triggerEvent(new o0(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const sr=new z("ROUTER_CONFIGURATION"),X0=new z("ROUTER_FORROOT_GUARD"),p2=[Hh,{provide:m0,useClass:y0},{provide:Pt,useFactory:function(n,e,t,i,r,s,o={},a,l){const c=new Pt(null,n,e,t,i,r,c0(s));return a&&(c.urlHandlingStrategy=a),l&&(c.routeReuseStrategy=l),function(n,e){n.errorHandler&&(e.errorHandler=n.errorHandler),n.malformedUriErrorHandler&&(e.malformedUriErrorHandler=n.malformedUriErrorHandler),n.onSameUrlNavigation&&(e.onSameUrlNavigation=n.onSameUrlNavigation),n.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=n.paramsInheritanceStrategy),n.relativeLinkResolution&&(e.relativeLinkResolution=n.relativeLinkResolution),n.urlUpdateStrategy&&(e.urlUpdateStrategy=n.urlUpdateStrategy),n.canceledNavigationResolution&&(e.canceledNavigationResolution=n.canceledNavigationResolution)}(o,c),o.enableTracing&&c.events.subscribe(u=>{var d,h;null===(d=console.group)||void 0===d||d.call(console,`Router Event: ${u.constructor.name}`),console.log(u.toString()),console.log(u),null===(h=console.groupEnd)||void 0===h||h.call(console)}),c},deps:[m0,zo,Hh,rt,Ml,Zf,sr,[class{},new Fn],[class{},new Fn]]},zo,{provide:Ds,useFactory:function(n){return n.routerState.root},deps:[Pt]},Z0,J0,class{preload(e,t){return t().pipe(st(()=>j(null)))}},{provide:sr,useValue:{enableTracing:!1}}];function g2(){return new Vb("Router",Pt)}let Q0=(()=>{class n{constructor(t,i){}static forRoot(t,i){return{ngModule:n,providers:[p2,ew(t),{provide:X0,useFactory:_2,deps:[[Pt,new Fn,new Fr]]},{provide:sr,useValue:i||{}},{provide:ps,useFactory:y2,deps:[Qi,[new Ks(Il),new Fn],sr]},{provide:ep,useFactory:m2,deps:[Pt,fF,sr]},{provide:K0,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:J0},{provide:Vb,multi:!0,useFactory:g2},[tp,{provide:bo,multi:!0,useFactory:D2,deps:[tp]},{provide:tw,useFactory:w2,deps:[tp]},{provide:Ob,multi:!0,useExisting:tw}]]}}static forChild(t){return{ngModule:n,providers:[ew(t)]}}}return n.\u0275fac=function(t){return new(t||n)(P(X0,8),P(Pt,8))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();function m2(n,e,t){return t.scrollOffset&&e.setOffset(t.scrollOffset),new ep(n,e,t)}function y2(n,e,t={}){return t.useHash?new Wk(n,e):new oC(n,e)}function _2(n){return"guarded"}function ew(n){return[{provide:uS,multi:!0,useValue:n},{provide:Zf,multi:!0,useValue:n}]}let tp=(()=>{class n{constructor(t){this.injector=t,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new Jt}appInitializer(){return this.injector.get(Uk,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let i=null;const r=new Promise(a=>i=a),s=this.injector.get(Pt),o=this.injector.get(sr);return"disabled"===o.initialNavigation?(s.setUpLocationChangeListener(),i(!0)):"enabled"===o.initialNavigation||"enabledBlocking"===o.initialNavigation?(s.hooks.afterPreactivation=()=>this.initNavigation?j(null):(this.initNavigation=!0,i(!0),this.resultOfPreactivationDone),s.initialNavigation()):i(!0),r})}bootstrapListener(t){const i=this.injector.get(sr),r=this.injector.get(Z0),s=this.injector.get(ep),o=this.injector.get(Pt),a=this.injector.get(hs);t===a.components[0]&&(("enabledNonBlocking"===i.initialNavigation||void 0===i.initialNavigation)&&o.initialNavigation(),r.setUpPreloading(),s.init(),o.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function D2(n){return n.appInitializer.bind(n)}function w2(n){return n.bootstrapListener.bind(n)}const tw=new z("Router Initializer"),nw="undefined"==typeof window?function(n){return n()}:window.requestAnimationFrame;function iw(n,e,t){const i=t||(o=>Array.prototype.slice.call(o));let r=!1,s=[];return function(...o){s=i(o),r||(r=!0,nw.call(window,()=>{r=!1,n.apply(e,s)}))}}const np=n=>"start"===n?"left":"end"===n?"right":"center",pt=(n,e,t)=>"start"===n?e:"end"===n?t:(e+t)/2;function hi(){}const S2=function(){let n=0;return function(){return n++}}();function de(n){return null==n}function we(n){if(Array.isArray&&Array.isArray(n))return!0;const e=Object.prototype.toString.call(n);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function oe(n){return null!==n&&"[object Object]"===Object.prototype.toString.call(n)}const Be=n=>("number"==typeof n||n instanceof Number)&&isFinite(+n);function cn(n,e){return Be(n)?n:e}function K(n,e){return void 0===n?e:n}const rw=(n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100*e:+n;function xe(n,e,t){if(n&&"function"==typeof n.call)return n.apply(t,e)}function pe(n,e,t,i){let r,s,o;if(we(n))if(s=n.length,i)for(r=s-1;r>=0;r--)e.call(t,n[r],r);else for(r=0;r<s;r++)e.call(t,n[r],r);else if(oe(n))for(o=Object.keys(n),s=o.length,r=0;r<s;r++)e.call(t,n[o[r]],o[r])}function vc(n,e){let t,i,r,s;if(!n||!e||n.length!==e.length)return!1;for(t=0,i=n.length;t<i;++t)if(r=n[t],s=e[t],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function bc(n){if(we(n))return n.map(bc);if(oe(n)){const e=Object.create(null),t=Object.keys(n),i=t.length;let r=0;for(;r<i;++r)e[t[r]]=bc(n[t[r]]);return e}return n}function sw(n){return-1===["__proto__","prototype","constructor"].indexOf(n)}function I2(n,e,t,i){if(!sw(n))return;const r=e[n],s=t[n];oe(r)&&oe(s)?Yo(r,s,i):e[n]=bc(s)}function Yo(n,e,t){const i=we(e)?e:[e],r=i.length;if(!oe(n))return n;const s=(t=t||{}).merger||I2;for(let o=0;o<r;++o){if(!oe(e=i[o]))continue;const a=Object.keys(e);for(let l=0,c=a.length;l<c;++l)s(a[l],n,e,t)}return n}function Ko(n,e){return Yo(n,e,{merger:T2})}function T2(n,e,t){if(!sw(n))return;const i=e[n],r=t[n];oe(i)&&oe(r)?Ko(i,r):Object.prototype.hasOwnProperty.call(e,n)||(e[n]=bc(r))}function ow(n,e){const t=n.indexOf(".",e);return-1===t?n.length:t}function or(n,e){if(""===e)return n;let t=0,i=ow(e,t);for(;n&&i>t;)n=n[e.substr(t,i-t)],t=i+1,i=ow(e,t);return n}function ip(n){return n.charAt(0).toUpperCase()+n.slice(1)}const un=n=>void 0!==n,Ni=n=>"function"==typeof n,aw=(n,e)=>{if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0},Ae=Math.PI,_e=2*Ae,R2=_e+Ae,Cc=Number.POSITIVE_INFINITY,F2=Ae/180,Fe=Ae/2,Jo=Ae/4,lw=2*Ae/3,dn=Math.log10,Yn=Math.sign;function cw(n){const e=Math.round(n);n=Xo(n,e,n/1e3)?e:n;const t=Math.pow(10,Math.floor(dn(n))),i=n/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function Zo(n){return!isNaN(parseFloat(n))&&isFinite(n)}function Xo(n,e,t){return Math.abs(n-e)<t}function uw(n,e,t){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][t],isNaN(s)||(e.min=Math.min(e.min,s),e.max=Math.max(e.max,s))}function An(n){return n*(Ae/180)}function rp(n){return n*(180/Ae)}function dw(n){if(!Be(n))return;let e=1,t=0;for(;Math.round(n*e)/e!==n;)e*=10,t++;return t}function hw(n,e){const t=e.x-n.x,i=e.y-n.y,r=Math.sqrt(t*t+i*i);let s=Math.atan2(i,t);return s<-.5*Ae&&(s+=_e),{angle:s,distance:r}}function sp(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function V2(n,e){return(n-e+R2)%_e-Ae}function Kt(n){return(n%_e+_e)%_e}function Qo(n,e,t,i){const r=Kt(n),s=Kt(e),o=Kt(t),a=Kt(s-r),l=Kt(o-r),c=Kt(r-s),u=Kt(r-o);return r===s||r===o||i&&s===o||a>l&&c<u}function ot(n,e,t){return Math.max(e,Math.min(t,n))}function fi(n,e,t,i=1e-6){return n>=Math.min(e,t)-i&&n<=Math.max(e,t)+i}const Dc=n=>0===n||1===n,fw=(n,e,t)=>-Math.pow(2,10*(n-=1))*Math.sin((n-e)*_e/t),pw=(n,e,t)=>Math.pow(2,-10*n)*Math.sin((n-e)*_e/t)+1,ea={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>1-Math.cos(n*Fe),easeOutSine:n=>Math.sin(n*Fe),easeInOutSine:n=>-.5*(Math.cos(Ae*n)-1),easeInExpo:n=>0===n?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>1===n?1:1-Math.pow(2,-10*n),easeInOutExpo:n=>Dc(n)?n:n<.5?.5*Math.pow(2,10*(2*n-1)):.5*(2-Math.pow(2,-10*(2*n-1))),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Dc(n)?n:fw(n,.075,.3),easeOutElastic:n=>Dc(n)?n:pw(n,.075,.3),easeInOutElastic(n){const e=.1125;return Dc(n)?n:n<.5?.5*fw(2*n,e,.45):.5+.5*pw(2*n-1,e,.45)},easeInBack(n){const e=1.70158;return n*n*((e+1)*n-e)},easeOutBack(n){const e=1.70158;return(n-=1)*n*((e+1)*n+e)+1},easeInOutBack(n){let e=1.70158;return(n/=.5)<1?n*n*((1+(e*=1.525))*n-e)*.5:.5*((n-=2)*n*((1+(e*=1.525))*n+e)+2)},easeInBounce:n=>1-ea.easeOutBounce(1-n),easeOutBounce(n){const e=7.5625,t=2.75;return n<1/t?e*n*n:n<2/t?e*(n-=1.5/t)*n+.75:n<2.5/t?e*(n-=2.25/t)*n+.9375:e*(n-=2.625/t)*n+.984375},easeInOutBounce:n=>n<.5?.5*ea.easeInBounce(2*n):.5*ea.easeOutBounce(2*n-1)+.5},hn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},op="0123456789ABCDEF",j2=n=>op[15&n],H2=n=>op[(240&n)>>4]+op[15&n],wc=n=>(240&n)>>4==(15&n);function ta(n){return n+.5|0}const xc=(n,e,t)=>Math.max(Math.min(n,t),e);function na(n){return xc(ta(2.55*n),0,255)}function ia(n){return xc(ta(255*n),0,255)}function ap(n){return xc(ta(n/2.55)/100,0,1)}function gw(n){return xc(ta(100*n),0,100)}const W2=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,Y2=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function mw(n,e,t){const i=e*Math.min(t,1-t),r=(s,o=(s+n/30)%12)=>t-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function K2(n,e,t){const i=(r,s=(r+n/60)%6)=>t-t*e*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function J2(n,e,t){const i=mw(n,1,.5);let r;for(e+t>1&&(r=1/(e+t),e*=r,t*=r),r=0;r<3;r++)i[r]*=1-e-t,i[r]+=e;return i}function lp(n){const t=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(t,i,r),o=Math.min(t,i,r),a=(s+o)/2;let l,c,u;return s!==o&&(u=s-o,c=a>.5?u/(2-s-o):u/(s+o),l=s===t?(i-r)/u+(i<r?6:0):s===i?(r-t)/u+2:(t-i)/u+4,l=60*l+.5),[0|l,c||0,a]}function cp(n,e,t,i){return(Array.isArray(e)?n(e[0],e[1],e[2]):n(e,t,i)).map(ia)}function up(n,e,t){return cp(mw,n,e,t)}function yw(n){return(n%360+360)%360}const _w={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},vw={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ec;function Mc(n,e,t){if(n){let i=lp(n);i[e]=Math.max(0,Math.min(i[e]+i[e]*t,0===e?360:1)),i=up(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function bw(n,e){return n&&Object.assign(e||{},n)}function Cw(n){var e={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(e={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(e.a=ia(n[3]))):(e=bw(n,{r:0,g:0,b:0,a:1})).a=ia(e.a),e}function rB(n){return"r"===n.charAt(0)?function(n){const e=W2.exec(n);let i,r,s,t=255;if(e){if(e[7]!==i){const o=+e[7];t=255&(e[8]?na(o):255*o)}return i=+e[1],r=+e[3],s=+e[5],i=255&(e[2]?na(i):i),r=255&(e[4]?na(r):r),s=255&(e[6]?na(s):s),{r:i,g:r,b:s,a:t}}}(n):function(n){const e=Y2.exec(n);let i,t=255;if(!e)return;e[5]!==i&&(t=e[6]?na(+e[5]):ia(+e[5]));const r=yw(+e[2]),s=+e[3]/100,o=+e[4]/100;return i="hwb"===e[1]?function(n,e,t){return cp(J2,n,e,t)}(r,s,o):"hsv"===e[1]?function(n,e,t){return cp(K2,n,e,t)}(r,s,o):up(r,s,o),{r:i[0],g:i[1],b:i[2],a:t}}(n)}class Sc{constructor(e){if(e instanceof Sc)return e;const t=typeof e;let i;"object"===t?i=Cw(e):"string"===t&&(i=function(n){var t,e=n.length;return"#"===n[0]&&(4===e||5===e?t={r:255&17*hn[n[1]],g:255&17*hn[n[2]],b:255&17*hn[n[3]],a:5===e?17*hn[n[4]]:255}:(7===e||9===e)&&(t={r:hn[n[1]]<<4|hn[n[2]],g:hn[n[3]]<<4|hn[n[4]],b:hn[n[5]]<<4|hn[n[6]],a:9===e?hn[n[7]]<<4|hn[n[8]]:255})),t}(e)||function(n){Ec||(Ec=function(){const n={},e=Object.keys(vw),t=Object.keys(_w);let i,r,s,o,a;for(i=0;i<e.length;i++){for(o=a=e[i],r=0;r<t.length;r++)s=t[r],a=a.replace(s,_w[s]);s=parseInt(vw[o],16),n[a]=[s>>16&255,s>>8&255,255&s]}return n}(),Ec.transparent=[0,0,0,0]);const e=Ec[n.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}(e)||rB(e)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var e=bw(this._rgb);return e&&(e.a=ap(e.a)),e}set rgb(e){this._rgb=Cw(e)}rgbString(){return this._valid?(n=this._rgb)&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ap(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`):this._rgb;var n}hexString(){return this._valid?function(n){var e=function(n){return wc(n.r)&&wc(n.g)&&wc(n.b)&&wc(n.a)}(n)?j2:H2;return n&&"#"+e(n.r)+e(n.g)+e(n.b)+(n.a<255?e(n.a):"")}(this._rgb):this._rgb}hslString(){return this._valid?function(n){if(!n)return;const e=lp(n),t=e[0],i=gw(e[1]),r=gw(e[2]);return n.a<255?`hsla(${t}, ${i}%, ${r}%, ${ap(n.a)})`:`hsl(${t}, ${i}%, ${r}%)`}(this._rgb):this._rgb}mix(e,t){const i=this;if(e){const r=i.rgb,s=e.rgb;let o;const a=t===o?.5:t,l=2*a-1,c=r.a-s.a,u=((l*c==-1?l:(l+c)/(1+l*c))+1)/2;o=1-u,r.r=255&u*r.r+o*s.r+.5,r.g=255&u*r.g+o*s.g+.5,r.b=255&u*r.b+o*s.b+.5,r.a=a*r.a+(1-a)*s.a,i.rgb=r}return i}clone(){return new Sc(this.rgb)}alpha(e){return this._rgb.a=ia(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,t=ta(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=t,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Mc(this._rgb,2,e),this}darken(e){return Mc(this._rgb,2,-e),this}saturate(e){return Mc(this._rgb,1,e),this}desaturate(e){return Mc(this._rgb,1,-e),this}rotate(e){return function(n,e){var t=lp(n);t[0]=yw(t[0]+e),t=up(t),n.r=t[0],n.g=t[1],n.b=t[2]}(this._rgb,e),this}}function Dw(n){return new Sc(n)}const ww=n=>n instanceof CanvasGradient||n instanceof CanvasPattern;function xw(n){return ww(n)?n:Dw(n)}function dp(n){return ww(n)?n:Dw(n).saturate(.5).darken(.1).hexString()}const ar=Object.create(null),hp=Object.create(null);function ra(n,e){if(!e)return n;const t=e.split(".");for(let i=0,r=t.length;i<r;++i){const s=t[i];n=n[s]||(n[s]=Object.create(null))}return n}function fp(n,e,t){return"string"==typeof e?Yo(ra(n,e),t):Yo(ra(n,""),e)}var ae=new class{constructor(e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,i)=>dp(i.backgroundColor),this.hoverBorderColor=(t,i)=>dp(i.borderColor),this.hoverColor=(t,i)=>dp(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e)}set(e,t){return fp(this,e,t)}get(e){return ra(this,e)}describe(e,t){return fp(hp,e,t)}override(e,t){return fp(ar,e,t)}route(e,t,i,r){const s=ra(this,e),o=ra(this,i),a="_"+t;Object.defineProperties(s,{[a]:{value:s[t],writable:!0},[t]:{enumerable:!0,get(){const l=this[a],c=o[r];return oe(l)?Object.assign({},c,l):K(l,c)},set(l){this[a]=l}}})}}({_scriptable:n=>!n.startsWith("on"),_indexable:n=>"events"!==n,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Ac(n,e,t,i,r){let s=e[r];return s||(s=e[r]=n.measureText(r).width,t.push(r)),s>i&&(i=s),i}function aB(n,e,t,i){let r=(i=i||{}).data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(r=i.data={},s=i.garbageCollect=[],i.font=e),n.save(),n.font=e;let o=0;const a=t.length;let l,c,u,d,h;for(l=0;l<a;l++)if(d=t[l],null!=d&&!0!==we(d))o=Ac(n,r,s,o,d);else if(we(d))for(c=0,u=d.length;c<u;c++)h=d[c],null!=h&&!we(h)&&(o=Ac(n,r,s,o,h));n.restore();const f=s.length/2;if(f>t.length){for(l=0;l<f;l++)delete r[s[l]];s.splice(0,f)}return o}function lr(n,e,t){const i=n.currentDevicePixelRatio,r=0!==t?Math.max(t/2,.5):0;return Math.round((e-r)*i)/i+r}function Ew(n,e){(e=e||n.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,n.width,n.height),e.restore()}function Ic(n,e,t,i){let r,s,o,a,l;const c=e.pointStyle,u=e.rotation,d=e.radius;let h=(u||0)*F2;if(c&&"object"==typeof c&&(r=c.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return n.save(),n.translate(t,i),n.rotate(h),n.drawImage(c,-c.width/2,-c.height/2,c.width,c.height),void n.restore();if(!(isNaN(d)||d<=0)){switch(n.beginPath(),c){default:n.arc(t,i,d,0,_e),n.closePath();break;case"triangle":n.moveTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),n.closePath();break;case"rectRounded":l=.516*d,a=d-l,s=Math.cos(h+Jo)*a,o=Math.sin(h+Jo)*a,n.arc(t-s,i-o,l,h-Ae,h-Fe),n.arc(t+o,i-s,l,h-Fe,h),n.arc(t+s,i+o,l,h,h+Fe),n.arc(t-o,i+s,l,h+Fe,h+Ae),n.closePath();break;case"rect":if(!u){a=Math.SQRT1_2*d,n.rect(t-a,i-a,2*a,2*a);break}h+=Jo;case"rectRot":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+o,i-s),n.lineTo(t+s,i+o),n.lineTo(t-o,i+s),n.closePath();break;case"crossRot":h+=Jo;case"cross":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"star":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s),h+=Jo,s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"line":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o);break;case"dash":n.moveTo(t,i),n.lineTo(t+Math.cos(h)*d,i+Math.sin(h)*d)}n.fill(),e.borderWidth>0&&n.stroke()}}function cr(n,e,t){return t=t||.5,!e||n&&n.x>e.left-t&&n.x<e.right+t&&n.y>e.top-t&&n.y<e.bottom+t}function Tc(n,e){n.save(),n.beginPath(),n.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),n.clip()}function Oc(n){n.restore()}function lB(n,e,t,i,r){if(!e)return n.lineTo(t.x,t.y);if("middle"===r){const s=(e.x+t.x)/2;n.lineTo(s,e.y),n.lineTo(s,t.y)}else"after"===r!=!!i?n.lineTo(e.x,t.y):n.lineTo(t.x,e.y);n.lineTo(t.x,t.y)}function cB(n,e,t,i){if(!e)return n.lineTo(t.x,t.y);n.bezierCurveTo(i?e.cp1x:e.cp2x,i?e.cp1y:e.cp2y,i?t.cp2x:t.cp1x,i?t.cp2y:t.cp1y,t.x,t.y)}function ur(n,e,t,i,r,s={}){const o=we(e)?e:[e],a=s.strokeWidth>0&&""!==s.strokeColor;let l,c;for(n.save(),n.font=r.string,function(n,e){e.translation&&n.translate(e.translation[0],e.translation[1]),de(e.rotation)||n.rotate(e.rotation),e.color&&(n.fillStyle=e.color),e.textAlign&&(n.textAlign=e.textAlign),e.textBaseline&&(n.textBaseline=e.textBaseline)}(n,s),l=0;l<o.length;++l)c=o[l],a&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),de(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(c,t,i,s.maxWidth)),n.fillText(c,t,i,s.maxWidth),dB(n,t,i,c,s),i+=r.lineHeight;n.restore()}function dB(n,e,t,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),o=e-s.actualBoundingBoxLeft,a=e+s.actualBoundingBoxRight,l=t-s.actualBoundingBoxAscent,c=t+s.actualBoundingBoxDescent,u=r.strikethrough?(l+c)/2:c;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(o,u),n.lineTo(a,u),n.stroke()}}function Pc(n,e){const{x:t,y:i,w:r,h:s,radius:o}=e;n.arc(t+o.topLeft,i+o.topLeft,o.topLeft,-Fe,Ae,!0),n.lineTo(t,i+s-o.bottomLeft),n.arc(t+o.bottomLeft,i+s-o.bottomLeft,o.bottomLeft,Ae,Fe,!0),n.lineTo(t+r-o.bottomRight,i+s),n.arc(t+r-o.bottomRight,i+s-o.bottomRight,o.bottomRight,Fe,0,!0),n.lineTo(t+r,i+o.topRight),n.arc(t+r-o.topRight,i+o.topRight,o.topRight,0,-Fe,!0),n.lineTo(t+o.topLeft,i)}const hB=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),fB=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function pB(n,e){const t=(""+n).match(hB);if(!t||"normal"===t[1])return 1.2*e;switch(n=+t[2],t[3]){case"px":return n;case"%":n/=100}return e*n}const gB=n=>+n||0;function pp(n,e){const t={},i=oe(e),r=i?Object.keys(e):e,s=oe(n)?i?o=>K(n[o],n[e[o]]):o=>n[o]:()=>n;for(const o of r)t[o]=gB(s(o));return t}function Mw(n){return pp(n,{top:"y",right:"x",bottom:"y",left:"x"})}function xs(n){return pp(n,["topLeft","topRight","bottomLeft","bottomRight"])}function gt(n){const e=Mw(n);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function et(n,e){let t=K((n=n||{}).size,(e=e||ae.font).size);"string"==typeof t&&(t=parseInt(t,10));let i=K(n.style,e.style);i&&!(""+i).match(fB)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");const r={family:K(n.family,e.family),lineHeight:pB(K(n.lineHeight,e.lineHeight),t),size:t,style:i,weight:K(n.weight,e.weight),string:""};return r.string=function(n){return!n||de(n.size)||de(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}(r),r}function sa(n,e,t,i){let s,o,a,r=!0;for(s=0,o=n.length;s<o;++s)if(a=n[s],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==t&&we(a)&&(a=a[t%a.length],r=!1),void 0!==a))return i&&!r&&(i.cacheable=!1),a}function Li(n,e){return Object.assign(Object.create(n),e)}function gp(n,e,t){t=t||(o=>n[o]<e);let s,i=n.length-1,r=0;for(;i-r>1;)s=r+i>>1,t(s)?r=s:i=s;return{lo:r,hi:i}}const pi=(n,e,t)=>gp(n,t,i=>n[i][e]<t),yB=(n,e,t)=>gp(n,t,i=>n[i][e]>=t),Sw=["push","pop","shift","splice","unshift"];function Aw(n,e){const t=n._chartjs;if(!t)return;const i=t.listeners,r=i.indexOf(e);-1!==r&&i.splice(r,1),!(i.length>0)&&(Sw.forEach(s=>{delete n[s]}),delete n._chartjs)}function Iw(n){const e=new Set;let t,i;for(t=0,i=n.length;t<i;++t)e.add(n[t]);return e.size===i?n:Array.from(e)}function mp(n,e=[""],t=n,i,r=(()=>n[0])){un(i)||(i=Rw("_fallback",n));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:t,_fallback:i,_getTarget:r,override:o=>mp([o,...n],e,t,i)};return new Proxy(s,{deleteProperty:(o,a)=>(delete o[a],delete o._keys,delete n[0][a],!0),get:(o,a)=>Ow(o,a,()=>function(n,e,t,i){let r;for(const s of e)if(r=Rw(bB(s,n),t),un(r))return yp(n,r)?_p(t,i,n,r):r}(a,e,n,o)),getOwnPropertyDescriptor:(o,a)=>Reflect.getOwnPropertyDescriptor(o._scopes[0],a),getPrototypeOf:()=>Reflect.getPrototypeOf(n[0]),has:(o,a)=>Fw(o).includes(a),ownKeys:o=>Fw(o),set(o,a,l){const c=o._storage||(o._storage=r());return o[a]=c[a]=l,delete o._keys,!0}})}function Es(n,e,t,i){const r={_cacheable:!1,_proxy:n,_context:e,_subProxy:t,_stack:new Set,_descriptors:Tw(n,i),setContext:s=>Es(n,s,t,i),override:s=>Es(n.override(s),e,t,i)};return new Proxy(r,{deleteProperty:(s,o)=>(delete s[o],delete n[o],!0),get:(s,o,a)=>Ow(s,o,()=>function(n,e,t){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=n;let a=i[e];return Ni(a)&&o.isScriptable(e)&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_stack:a}=t;if(a.has(n))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+n);return a.add(n),e=e(s,o||i),a.delete(n),yp(n,e)&&(e=_p(r._scopes,r,n,e)),e}(e,a,n,t)),we(a)&&a.length&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:a}=t;if(un(s.index)&&i(n))e=e[s.index%e.length];else if(oe(e[0])){const l=e,c=r._scopes.filter(u=>u!==l);e=[];for(const u of l){const d=_p(c,r,n,u);e.push(Es(d,s,o&&o[n],a))}}return e}(e,a,n,o.isIndexable)),yp(e,a)&&(a=Es(a,r,s&&s[e],o)),a}(s,o,a)),getOwnPropertyDescriptor:(s,o)=>s._descriptors.allKeys?Reflect.has(n,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,o),getPrototypeOf:()=>Reflect.getPrototypeOf(n),has:(s,o)=>Reflect.has(n,o),ownKeys:()=>Reflect.ownKeys(n),set:(s,o,a)=>(n[o]=a,delete s[o],!0)})}function Tw(n,e={scriptable:!0,indexable:!0}){const{_scriptable:t=e.scriptable,_indexable:i=e.indexable,_allKeys:r=e.allKeys}=n;return{allKeys:r,scriptable:t,indexable:i,isScriptable:Ni(t)?t:()=>t,isIndexable:Ni(i)?i:()=>i}}const bB=(n,e)=>n?n+ip(e):e,yp=(n,e)=>oe(e)&&"adapters"!==n&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ow(n,e,t){if(Object.prototype.hasOwnProperty.call(n,e))return n[e];const i=t();return n[e]=i,i}function Pw(n,e,t){return Ni(n)?n(e,t):n}const xB=(n,e)=>!0===n?e:"string"==typeof n?or(e,n):void 0;function EB(n,e,t,i,r){for(const s of e){const o=xB(t,s);if(o){n.add(o);const a=Pw(o._fallback,t,r);if(un(a)&&a!==t&&a!==i)return a}else if(!1===o&&un(i)&&t!==i)return null}return!1}function _p(n,e,t,i){const r=e._rootScopes,s=Pw(e._fallback,t,i),o=[...n,...r],a=new Set;a.add(i);let l=kw(a,o,t,s||t,i);return!(null===l||un(s)&&s!==t&&(l=kw(a,o,s,l,i),null===l))&&mp(Array.from(a),[""],r,s,()=>function(n,e,t){const i=n._getTarget();e in i||(i[e]={});const r=i[e];return we(r)&&oe(t)?t:r}(e,t,i))}function kw(n,e,t,i,r){for(;t;)t=EB(n,e,t,i,r);return t}function Rw(n,e){for(const t of e){if(!t)continue;const i=t[n];if(un(i))return i}}function Fw(n){let e=n._keys;return e||(e=n._keys=function(n){const e=new Set;for(const t of n)for(const i of Object.keys(t).filter(r=>!r.startsWith("_")))e.add(i);return Array.from(e)}(n._scopes)),e}const IB=Number.EPSILON||1e-14,Ms=(n,e)=>e<n.length&&!n[e].skip&&n[e],Nw=n=>"x"===n?"y":"x";function TB(n,e,t,i){const r=n.skip?e:n,s=e,o=t.skip?e:t,a=sp(s,r),l=sp(o,s);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=i*c,h=i*u;return{previous:{x:s.x-d*(o.x-r.x),y:s.y-d*(o.y-r.y)},next:{x:s.x+h*(o.x-r.x),y:s.y+h*(o.y-r.y)}}}function kc(n,e,t){return Math.max(Math.min(n,t),e)}function FB(n,e,t,i,r){let s,o,a,l;if(e.spanGaps&&(n=n.filter(c=>!c.skip)),"monotone"===e.cubicInterpolationMode)!function(n,e="x"){const t=Nw(e),i=n.length,r=Array(i).fill(0),s=Array(i);let o,a,l,c=Ms(n,0);for(o=0;o<i;++o)if(a=l,l=c,c=Ms(n,o+1),l){if(c){const u=c[e]-l[e];r[o]=0!==u?(c[t]-l[t])/u:0}s[o]=a?c?Yn(r[o-1])!==Yn(r[o])?0:(r[o-1]+r[o])/2:r[o-1]:r[o]}(function(n,e,t){const i=n.length;let r,s,o,a,l,c=Ms(n,0);for(let u=0;u<i-1;++u)if(l=c,c=Ms(n,u+1),l&&c){if(Xo(e[u],0,IB)){t[u]=t[u+1]=0;continue}r=t[u]/e[u],s=t[u+1]/e[u],a=Math.pow(r,2)+Math.pow(s,2),!(a<=9)&&(o=3/Math.sqrt(a),t[u]=r*o*e[u],t[u+1]=s*o*e[u])}})(n,r,s),function(n,e,t="x"){const i=Nw(t),r=n.length;let s,o,a,l=Ms(n,0);for(let c=0;c<r;++c){if(o=a,a=l,l=Ms(n,c+1),!a)continue;const u=a[t],d=a[i];o&&(s=(u-o[t])/3,a[`cp1${t}`]=u-s,a[`cp1${i}`]=d-s*e[c]),l&&(s=(l[t]-u)/3,a[`cp2${t}`]=u+s,a[`cp2${i}`]=d+s*e[c])}}(n,s,e)}(n,r);else{let c=i?n[n.length-1]:n[0];for(s=0,o=n.length;s<o;++s)a=n[s],l=TB(c,a,n[Math.min(s+1,o-(i?0:1))%o],e.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}e.capBezierPoints&&function(n,e){let t,i,r,s,o,a=cr(n[0],e);for(t=0,i=n.length;t<i;++t)o=s,s=a,a=t<i-1&&cr(n[t+1],e),s&&(r=n[t],o&&(r.cp1x=kc(r.cp1x,e.left,e.right),r.cp1y=kc(r.cp1y,e.top,e.bottom)),a&&(r.cp2x=kc(r.cp2x,e.left,e.right),r.cp2y=kc(r.cp2y,e.top,e.bottom)))}(n,t)}function Lw(){return"undefined"!=typeof window&&"undefined"!=typeof document}function vp(n){let e=n.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function Rc(n,e,t){let i;return"string"==typeof n?(i=parseInt(n,10),-1!==n.indexOf("%")&&(i=i/100*e.parentNode[t])):i=n,i}const Fc=n=>window.getComputedStyle(n,null),LB=["top","right","bottom","left"];function dr(n,e,t){const i={};t=t?"-"+t:"";for(let r=0;r<4;r++){const s=LB[r];i[s]=parseFloat(n[e+"-"+s+t])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}function Vw(n,e){const{canvas:t,currentDevicePixelRatio:i}=e,r=Fc(t),s="border-box"===r.boxSizing,o=dr(r,"padding"),a=dr(r,"border","width"),{x:l,y:c,box:u}=function(n,e){const t=n.native||n,i=t.touches,r=i&&i.length?i[0]:t,{offsetX:s,offsetY:o}=r;let l,c,a=!1;if(((n,e,t)=>(n>0||e>0)&&(!t||!t.shadowRoot))(s,o,t.target))l=s,c=o;else{const u=e.getBoundingClientRect();l=r.clientX-u.left,c=r.clientY-u.top,a=!0}return{x:l,y:c,box:a}}(n,t),d=o.left+(u&&a.left),h=o.top+(u&&a.top);let{width:f,height:p}=e;return s&&(f-=o.width+a.width,p-=o.height+a.height),{x:Math.round((l-d)/f*t.width/i),y:Math.round((c-h)/p*t.height/i)}}const bp=n=>Math.round(10*n)/10;function Bw(n,e,t){const i=e||1,r=Math.floor(n.height*i),s=Math.floor(n.width*i);n.height=r/i,n.width=s/i;const o=n.canvas;return o.style&&(t||!o.style.height&&!o.style.width)&&(o.style.height=`${n.height}px`,o.style.width=`${n.width}px`),(n.currentDevicePixelRatio!==i||o.height!==r||o.width!==s)&&(n.currentDevicePixelRatio=i,o.height=r,o.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0)}const UB=function(){let n=!1;try{const e={get passive(){return n=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return n}();function jw(n,e){const t=function(n,e){return Fc(n).getPropertyValue(e)}(n,e),i=t&&t.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function hr(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:n.y+t*(e.y-n.y)}}function $B(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:"middle"===i?t<.5?n.y:e.y:"after"===i?t<1?n.y:e.y:t>0?e.y:n.y}}function zB(n,e,t,i){const r={x:n.cp2x,y:n.cp2y},s={x:e.cp1x,y:e.cp1y},o=hr(n,r,t),a=hr(r,s,t),l=hr(s,e,t),c=hr(o,a,t),u=hr(a,l,t);return hr(c,u,t)}const Hw=new Map;function oa(n,e,t){return function(n,e){e=e||{};const t=n+JSON.stringify(e);let i=Hw.get(t);return i||(i=new Intl.NumberFormat(n,e),Hw.set(t,i)),i}(e,t).format(n)}function Ss(n,e,t){return n?function(n,e){return{x:t=>n+n+e-t,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,i)=>t-i,leftForLtr:(t,i)=>t-i}}(e,t):{x:n=>n,setWidth(n){},textAlign:n=>n,xPlus:(n,e)=>n+e,leftForLtr:(n,e)=>n}}function Uw(n,e){let t,i;("ltr"===e||"rtl"===e)&&(t=n.canvas.style,i=[t.getPropertyValue("direction"),t.getPropertyPriority("direction")],t.setProperty("direction",e,"important"),n.prevTextDirection=i)}function $w(n,e){void 0!==e&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",e[0],e[1]))}function zw(n){return"angle"===n?{between:Qo,compare:V2,normalize:Kt}:{between:fi,compare:(e,t)=>e-t,normalize:e=>e}}function Ww({start:n,end:e,count:t,loop:i,style:r}){return{start:n%t,end:e%t,loop:i&&(e-n+1)%t==0,style:r}}function Gw(n,e,t){if(!t)return[n];const{property:i,start:r,end:s}=t,o=e.length,{compare:a,between:l,normalize:c}=zw(i),{start:u,end:d,loop:h,style:f}=function(n,e,t){const{property:i,start:r,end:s}=t,{between:o,normalize:a}=zw(i),l=e.length;let h,f,{start:c,end:u,loop:d}=n;if(d){for(c+=l,u+=l,h=0,f=l;h<f&&o(a(e[c%l][i]),r,s);++h)c--,u--;c%=l,u%=l}return u<c&&(u+=l),{start:c,end:u,loop:d,style:n.style}}(n,e,t),p=[];let v,b,D,g=!1,_=null;for(let O=u,k=u;O<=d;++O)b=e[O%o],!b.skip&&(v=c(b[i]),v!==D&&(g=l(v,r,s),null===_&&(g||l(r,D,v)&&0!==a(r,D))&&(_=0===a(v,r)?O:k),null!==_&&(!g||0===a(s,v)||l(s,D,v))&&(p.push(Ww({start:_,end:O,loop:h,count:o,style:f})),_=null),k=O,D=v));return null!==_&&p.push(Ww({start:_,end:d,loop:h,count:o,style:f})),p}function qw(n,e){const t=[],i=n.segments;for(let r=0;r<i.length;r++){const s=Gw(i[r],n.points,e);s.length&&t.push(...s)}return t}function Kw(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function QB(n,e){return e&&JSON.stringify(n)!==JSON.stringify(e)}var gi=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,r){const o=t.duration;t.listeners[r].forEach(a=>a({chart:e,initial:t.initial,numSteps:o,currentStep:Math.min(i-t.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=nw.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let l,o=s.length-1,a=!1;for(;o>=0;--o)l=s[o],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(e),a=!0):(s[o]=s[s.length-1],s.pop());a&&(r.draw(),this._notify(r,i,e,"progress")),s.length||(i.running=!1,this._notify(r,i,e,"complete"),i.initial=!1),t+=s.length}),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);!t||(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}};const Jw="transparent",tj={boolean:(n,e,t)=>t>.5?e:n,color(n,e,t){const i=xw(n||Jw),r=i.valid&&xw(e||Jw);return r&&r.valid?r.mix(i,t).hexString():e},number:(n,e,t)=>n+(e-n)*t};class nj{constructor(e,t,i,r){const s=t[i];r=sa([e.to,r,s,e.from]);const o=sa([e.from,s,r]);this._active=!0,this._fn=e.fn||tj[e.type||typeof o],this._easing=ea[e.easing]||ea.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=s,this._loop=!!e.loop,this._to=sa([e.to,t,r,e.from]),this._from=sa([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,a=this._to;let l;if(this._active=s!==a&&(o||t<i),!this._active)return this._target[r]=a,void this._notify(!0);t<0?this._target[r]=s:(l=t/i%2,l=o&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[r]=this._fn(s,a,l))}wait(){const e=this._promises||(this._promises=[]);return new Promise((t,i)=>{e.push({res:t,rej:i})})}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][t]()}}ae.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const sj=Object.keys(ae.animation);ae.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>"onProgress"!==n&&"onComplete"!==n&&"fn"!==n}),ae.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),ae.describe("animations",{_fallback:"animation"}),ae.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>0|n}}}});class Zw{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!oe(e))return;const t=this._properties;Object.getOwnPropertyNames(e).forEach(i=>{const r=e[i];if(!oe(r))return;const s={};for(const o of sj)s[o]=r[o];(we(r.properties)&&r.properties||[i]).forEach(o=>{(o===i||!t.has(o))&&t.set(o,s)})})}_animateOptions(e,t){const i=t.options,r=function(n,e){if(!e)return;let t=n.options;if(t)return t.$shared&&(n.options=t=Object.assign({},t,{$shared:!1,$animations:{}})),t;n.options=e}(e,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&function(n,e){const t=[],i=Object.keys(e);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&t.push(s.wait())}return Promise.all(t)}(e.options.$animations,i).then(()=>{e.options=i},()=>{}),s}_createAnimations(e,t){const i=this._properties,r=[],s=e.$animations||(e.$animations={}),o=Object.keys(t),a=Date.now();let l;for(l=o.length-1;l>=0;--l){const c=o[l];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(e,t));continue}const u=t[c];let d=s[c];const h=i.get(c);if(d){if(h&&d.active()){d.update(h,u,a);continue}d.cancel()}h&&h.duration?(s[c]=d=new nj(h,e,c,u),r.push(d)):e[c]=u}return r}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const i=this._createAnimations(e,t);return i.length?(gi.add(this._chart,i),!0):void 0}}function Xw(n,e){const t=n&&n.options||{},i=t.reverse,r=void 0===t.min?e:0,s=void 0===t.max?e:0;return{start:i?s:r,end:i?r:s}}function Qw(n,e){const t=[],i=n._getSortedDatasetMetas(e);let r,s;for(r=0,s=i.length;r<s;++r)t.push(i[r].index);return t}function ex(n,e,t,i={}){const r=n.keys,s="single"===i.mode;let o,a,l,c;if(null!==e){for(o=0,a=r.length;o<a;++o){if(l=+r[o],l===t){if(i.all)continue;break}c=n.values[l],Be(c)&&(s||0===e||Yn(e)===Yn(c))&&(e+=c)}return e}}function tx(n,e){const t=n&&n.options.stacked;return t||void 0===t&&void 0!==e.stack}function fj(n,e,t){const i=n[e]||(n[e]={});return i[t]||(i[t]={})}function nx(n,e,t,i){for(const r of e.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(t&&s>0||!t&&s<0)return r.index}return null}function ix(n,e){const{chart:t,_cachedMeta:i}=n,r=t._stacks||(t._stacks={}),{iScale:s,vScale:o,index:a}=i,l=s.axis,c=o.axis,u=function(n,e,t){return`${n.id}.${e.id}.${t.stack||t.type}`}(s,o,i),d=e.length;let h;for(let f=0;f<d;++f){const p=e[f],{[l]:g,[c]:_}=p;h=(p._stacks||(p._stacks={}))[c]=fj(r,u,g),h[a]=_,h._top=nx(h,o,!0,i.type),h._bottom=nx(h,o,!1,i.type)}}function Cp(n,e){const t=n.scales;return Object.keys(t).filter(i=>t[i].axis===e).shift()}function aa(n,e){const t=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){e=e||n._parsed;for(const r of e){const s=r._stacks;if(!s||void 0===s[i]||void 0===s[i][t])return;delete s[i][t]}}}const Dp=n=>"reset"===n||"none"===n,rx=(n,e)=>e?n:Object.assign({},n);let mi=(()=>{class n{constructor(t,i){this.chart=t,this._ctx=t.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=tx(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&aa(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,i=this._cachedMeta,r=this.getDataset(),s=(h,f,p,g)=>"x"===h?f:"r"===h?g:p,o=i.xAxisID=K(r.xAxisID,Cp(t,"x")),a=i.yAxisID=K(r.yAxisID,Cp(t,"y")),l=i.rAxisID=K(r.rAxisID,Cp(t,"r")),c=i.indexAxis,u=i.iAxisID=s(c,o,a,l),d=i.vAxisID=s(c,a,o,l);i.xScale=this.getScaleForId(o),i.yScale=this.getScaleForId(a),i.rScale=this.getScaleForId(l),i.iScale=this.getScaleForId(u),i.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const i=this._cachedMeta;return t===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Aw(this._data,this),t._stacked&&aa(t)}_dataCheck(){const t=this.getDataset(),i=t.data||(t.data=[]),r=this._data;if(oe(i))this._data=function(n){const e=Object.keys(n),t=new Array(e.length);let i,r,s;for(i=0,r=e.length;i<r;++i)s=e[i],t[i]={x:s,y:n[s]};return t}(i);else if(r!==i){if(r){Aw(r,this);const s=this._cachedMeta;aa(s),s._parsed=[]}i&&Object.isExtensible(i)&&function(n,e){n._chartjs?n._chartjs.listeners.push(e):(Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),Sw.forEach(t=>{const i="_onData"+ip(t),r=n[t];Object.defineProperty(n,t,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return n._chartjs.listeners.forEach(a=>{"function"==typeof a[i]&&a[i](...s)}),o}})}))}(i,this),this._syncList=[],this._data=i}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const i=this._cachedMeta,r=this.getDataset();let s=!1;this._dataCheck();const o=i._stacked;i._stacked=tx(i.vScale,i),i.stack!==r.stack&&(s=!0,aa(i),i.stack=r.stack),this._resyncElements(t),(s||o!==i._stacked)&&ix(this,i._parsed)}configure(){const t=this.chart.config,i=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),i,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,i){const{_cachedMeta:r,_data:s}=this,{iScale:o,_stacked:a}=r,l=o.axis;let d,h,f,c=0===t&&i===s.length||r._sorted,u=t>0&&r._parsed[t-1];if(!1===this._parsing)r._parsed=s,r._sorted=!0,f=s;else{f=we(s[t])?this.parseArrayData(r,s,t,i):oe(s[t])?this.parseObjectData(r,s,t,i):this.parsePrimitiveData(r,s,t,i);const p=()=>null===h[l]||u&&h[l]<u[l];for(d=0;d<i;++d)r._parsed[d+t]=h=f[d],c&&(p()&&(c=!1),u=h);r._sorted=c}a&&ix(this,f)}parsePrimitiveData(t,i,r,s){const{iScale:o,vScale:a}=t,l=o.axis,c=a.axis,u=o.getLabels(),d=o===a,h=new Array(s);let f,p,g;for(f=0,p=s;f<p;++f)g=f+r,h[f]={[l]:d||o.parse(u[g],g),[c]:a.parse(i[g],g)};return h}parseArrayData(t,i,r,s){const{xScale:o,yScale:a}=t,l=new Array(s);let c,u,d,h;for(c=0,u=s;c<u;++c)d=c+r,h=i[d],l[c]={x:o.parse(h[0],d),y:a.parse(h[1],d)};return l}parseObjectData(t,i,r,s){const{xScale:o,yScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u=new Array(s);let d,h,f,p;for(d=0,h=s;d<h;++d)f=d+r,p=i[f],u[d]={x:o.parse(or(p,l),f),y:a.parse(or(p,c),f)};return u}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,i,r){const o=this._cachedMeta,a=i[t.axis];return ex({keys:Qw(this.chart,!0),values:i._stacks[t.axis]},a,o.index,{mode:r})}updateRangeFromParsed(t,i,r,s){const o=r[i.axis];let a=null===o?NaN:o;const l=s&&r._stacks[i.axis];s&&l&&(s.values=l,a=ex(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,i){const r=this._cachedMeta,s=r._parsed,o=r._sorted&&t===r.iScale,a=s.length,l=this._getOtherScale(t),c=((n,e,t)=>n&&!e.hidden&&e._stacked&&{keys:Qw(this.chart,!0),values:null})(i,r),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:h}=function(n){const{min:e,max:t,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?e:Number.NEGATIVE_INFINITY,max:r?t:Number.POSITIVE_INFINITY}}(l);let f,p;function g(){p=s[f];const _=p[l.axis];return!Be(p[t.axis])||d>_||h<_}for(f=0;f<a&&(g()||(this.updateRangeFromParsed(u,t,p,c),!o));++f);if(o)for(f=a-1;f>=0;--f)if(!g()){this.updateRangeFromParsed(u,t,p,c);break}return u}getAllParsedValues(t){const i=this._cachedMeta._parsed,r=[];let s,o,a;for(s=0,o=i.length;s<o;++s)a=i[s][t.axis],Be(a)&&r.push(a);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const i=this._cachedMeta,r=i.iScale,s=i.vScale,o=this.getParsed(t);return{label:r?""+r.getLabelForValue(o[r.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const i=this._cachedMeta;this.update(t||"default"),i._clip=function(n){let e,t,i,r;return oe(n)?(e=n.top,t=n.right,i=n.bottom,r=n.left):e=t=i=r=n,{top:e,right:t,bottom:i,left:r,disabled:!1===n}}(K(this.options.clip,function(n,e,t){if(!1===t)return!1;const i=Xw(n,t),r=Xw(e,t);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}(i.xScale,i.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,r=this._cachedMeta,s=r.data||[],o=this.chart.chartArea,a=[],l=this._drawStart||0,c=this._drawCount||s.length-l,u=this.options.drawActiveElementsOnTop;let d;for(r.dataset&&r.dataset.draw(t,o,l,c),d=l;d<l+c;++d){const h=s[d];h.hidden||(h.active&&u?a.push(h):h.draw(t,o))}for(d=0;d<a.length;++d)a[d].draw(t,o)}getStyle(t,i){const r=i?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,i,r){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];o=a.$context||(a.$context=function(n,e,t){return Li(n,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:t,index:e,mode:"default",type:"data"})}(this.getContext(),t,a)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=function(n,e){return Li(n,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!i,o.mode=r,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,i){return this._resolveElementOptions(this.dataElementType.id,i,t)}_resolveElementOptions(t,i="default",r){const s="active"===i,o=this._cachedDataOpts,a=t+"-"+i,l=o[a],c=this.enableOptionSharing&&un(r);if(l)return rx(l,c);const u=this.chart.config,d=u.datasetElementScopeKeys(this._type,t),h=s?[`${t}Hover`,"hover",t,""]:[t,""],f=u.getOptionScopes(this.getDataset(),d),p=Object.keys(ae.elements[t]),_=u.resolveNamedOptions(f,p,()=>this.getContext(r,s),h);return _.$shared&&(_.$shared=c,o[a]=Object.freeze(rx(_,c))),_}_resolveAnimations(t,i,r){const s=this.chart,o=this._cachedDataOpts,a=`animation-${i}`,l=o[a];if(l)return l;let c;if(!1!==s.options.animation){const d=this.chart.config,h=d.datasetAnimationScopeKeys(this._type,i),f=d.getOptionScopes(this.getDataset(),h);c=d.createResolver(f,this.getContext(t,r,i))}const u=new Zw(s,c&&c.animations);return c&&c._cacheable&&(o[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,i){return!i||Dp(t)||this.chart._animationsDisabled}updateElement(t,i,r,s){Dp(s)?Object.assign(t,r):this._resolveAnimations(i,s).update(t,r)}updateSharedOptions(t,i,r){t&&!Dp(i)&&this._resolveAnimations(void 0,i).update(t,r)}_setStyle(t,i,r,s){t.active=s;const o=this.getStyle(i,s);this._resolveAnimations(i,r,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,i,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,i,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const i=this._data,r=this._cachedMeta.data;for(const[l,c,u]of this._syncList)this[l](c,u);this._syncList=[];const s=r.length,o=i.length,a=Math.min(o,s);a&&this.parse(0,a),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,i,r=!0){const s=this._cachedMeta,o=s.data,a=t+i;let l;const c=u=>{for(u.length+=i,l=u.length-1;l>=a;l--)u[l]=u[l-i]};for(c(o),l=t;l<a;++l)o[l]=new this.dataElementType;this._parsing&&c(s._parsed),this.parse(t,i),r&&this.updateElements(o,t,i,"reset")}updateElements(t,i,r,s){}_removeElements(t,i){const r=this._cachedMeta;if(this._parsing){const s=r._parsed.splice(t,i);r._stacked&&aa(r,s)}r.data.splice(t,i)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[i,r,s]=t;this[i](r,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,i){i&&this._sync(["_removeElements",t,i]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}return n.defaults={},n})();function _j(n){const e=n.iScale,t=function(n,e){if(!n._cache.$bar){const t=n.getMatchingVisibleMetas(e);let i=[];for(let r=0,s=t.length;r<s;r++)i=i.concat(t[r].controller.getAllParsedValues(n));n._cache.$bar=Iw(i.sort((r,s)=>r-s))}return n._cache.$bar}(e,n.type);let r,s,o,a,i=e._length;const l=()=>{32767===o||-32768===o||(un(a)&&(i=Math.min(i,Math.abs(o-a)||i)),a=o)};for(r=0,s=t.length;r<s;++r)o=e.getPixelForValue(t[r]),l();for(a=void 0,r=0,s=e.ticks.length;r<s;++r)o=e.getPixelForTick(r),l();return i}function sx(n,e,t,i){return we(n)?function(n,e,t,i){const r=t.parse(n[0],i),s=t.parse(n[1],i),o=Math.min(r,s),a=Math.max(r,s);let l=o,c=a;Math.abs(o)>Math.abs(a)&&(l=a,c=o),e[t.axis]=c,e._custom={barStart:l,barEnd:c,start:r,end:s,min:o,max:a}}(n,e,t,i):e[t.axis]=t.parse(n,i),e}function ox(n,e,t,i){const r=n.iScale,s=n.vScale,o=r.getLabels(),a=r===s,l=[];let c,u,d,h;for(c=t,u=t+i;c<u;++c)h=e[c],d={},d[r.axis]=a||r.parse(o[c],c),l.push(sx(h,d,s,c));return l}function wp(n){return n&&void 0!==n.barStart&&void 0!==n.barEnd}function xj(n,e,t,i){let r=e.borderSkipped;const s={};if(!r)return void(n.borderSkipped=s);const{start:o,end:a,reverse:l,top:c,bottom:u}=function(n){let e,t,i,r,s;return n.horizontal?(e=n.base>n.x,t="left",i="right"):(e=n.base<n.y,t="bottom",i="top"),e?(r="end",s="start"):(r="start",s="end"),{start:t,end:i,reverse:e,top:r,bottom:s}}(n);"middle"===r&&t&&(n.enableBorderRadius=!0,(t._top||0)===i?r=c:(t._bottom||0)===i?r=u:(s[ax(u,o,a,l)]=!0,r=c)),s[ax(r,o,a,l)]=!0,n.borderSkipped=s}function ax(n,e,t,i){return i?(n=function(n,e,t){return n===e?t:n===t?e:n}(n,e,t),n=lx(n,t,e)):n=lx(n,e,t),n}function lx(n,e,t){return"start"===n?e:"end"===n?t:n}function Mj(n,{inflateAmount:e},t){n.inflateAmount="auto"===e?1===t?.33:0:e}mi.prototype.datasetElementType=null,mi.prototype.dataElementType=null;let Sj=(()=>{class n extends mi{parsePrimitiveData(t,i,r,s){return ox(t,i,r,s)}parseArrayData(t,i,r,s){return ox(t,i,r,s)}parseObjectData(t,i,r,s){const{iScale:o,vScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u="x"===o.axis?l:c,d="x"===a.axis?l:c,h=[];let f,p,g,_;for(f=r,p=r+s;f<p;++f)_=i[f],g={},g[o.axis]=o.parse(or(_,u),f),h.push(sx(or(_,d),g,a,f));return h}updateRangeFromParsed(t,i,r,s){super.updateRangeFromParsed(t,i,r,s);const o=r._custom;o&&i===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const i=this._cachedMeta,{iScale:r,vScale:s}=i,o=this.getParsed(t),a=o._custom,l=wp(a)?"["+a.start+", "+a.end+"]":""+s.getLabelForValue(o[s.axis]);return{label:""+r.getLabelForValue(o[r.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(t){const i=this._cachedMeta;this.updateElements(i.data,0,i.data.length,t)}updateElements(t,i,r,s){const o="reset"===s,{index:a,_cachedMeta:{vScale:l}}=this,c=l.getBasePixel(),u=l.isHorizontal(),d=this._getRuler(),h=this.resolveDataElementOptions(i,s),f=this.getSharedOptions(h),p=this.includeOptions(s,f);this.updateSharedOptions(f,s,h);for(let g=i;g<i+r;g++){const _=this.getParsed(g),v=o||de(_[l.axis])?{base:c,head:c}:this._calculateBarValuePixels(g),b=this._calculateBarIndexPixels(g,d),D=(_._stacks||{})[l.axis],C={horizontal:u,base:v.base,enableBorderRadius:!D||wp(_._custom)||a===D._top||a===D._bottom,x:u?v.head:b.center,y:u?b.center:v.head,height:u?b.size:Math.abs(v.size),width:u?Math.abs(v.size):b.size};p&&(C.options=f||this.resolveDataElementOptions(g,t[g].active?"active":s));const w=C.options||t[g].options;xj(C,w,D,a),Mj(C,w,d.ratio),this.updateElement(t[g],g,C,s)}}_getStacks(t,i){const s=this._cachedMeta.iScale,o=s.getMatchingVisibleMetas(this._type),a=s.options.stacked,l=o.length,c=[];let u,d;for(u=0;u<l;++u)if(d=o[u],d.controller.options.grouped){if(void 0!==i){const h=d.controller.getParsed(i)[d.controller._cachedMeta.vScale.axis];if(de(h)||isNaN(h))continue}if((!1===a||-1===c.indexOf(d.stack)||void 0===a&&void 0===d.stack)&&c.push(d.stack),d.index===t)break}return c.length||c.push(void 0),c}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,i,r){const s=this._getStacks(t,r),o=void 0!==i?s.indexOf(i):-1;return-1===o?s.length-1:o}_getRuler(){const t=this.options,i=this._cachedMeta,r=i.iScale,s=[];let o,a;for(o=0,a=i.data.length;o<a;++o)s.push(r.getPixelForValue(this.getParsed(o)[r.axis],o));const l=t.barThickness;return{min:l||_j(i),pixels:s,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:i,_stacked:r},options:{base:s,minBarLength:o}}=this,a=s||0,l=this.getParsed(t),c=l._custom,u=wp(c);let p,g,d=l[i.axis],h=0,f=r?this.applyStack(i,l,r):d;f!==d&&(h=f-d,f=d),u&&(d=c.barStart,f=c.barEnd-c.barStart,0!==d&&Yn(d)!==Yn(c.barEnd)&&(h=0),h+=d);const _=de(s)||u?h:s;let v=i.getPixelForValue(_);if(p=this.chart.getDataVisibility(t)?i.getPixelForValue(h+f):v,g=p-v,Math.abs(g)<o&&(g=function(n,e,t){return 0!==n?Yn(n):(e.isHorizontal()?1:-1)*(e.min>=t?1:-1)}(g,i,a)*o,d===a&&(v-=g/2),p=v+g),v===i.getPixelForValue(a)){const b=Yn(g)*i.getLineWidthForValue(a)/2;v+=b,g-=b}return{size:g,base:v,head:p,center:p+g/2}}_calculateBarIndexPixels(t,i){const r=i.scale,s=this.options,o=s.skipNull,a=K(s.maxBarThickness,1/0);let l,c;if(i.grouped){const u=o?this._getStackCount(t):i.stackCount,d="flex"===s.barThickness?function(n,e,t,i){const r=e.pixels,s=r[n];let o=n>0?r[n-1]:null,a=n<r.length-1?r[n+1]:null;const l=t.categoryPercentage;null===o&&(o=s-(null===a?e.end-e.start:a-s)),null===a&&(a=s+s-o);const c=s-(s-Math.min(o,a))/2*l;return{chunk:Math.abs(a-o)/2*l/i,ratio:t.barPercentage,start:c}}(t,i,s,u):function(n,e,t,i){const r=t.barThickness;let s,o;return de(r)?(s=e.min*t.categoryPercentage,o=t.barPercentage):(s=r*i,o=1),{chunk:s/i,ratio:o,start:e.pixels[n]-s/2}}(t,i,s,u),h=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);l=d.start+d.chunk*h+d.chunk/2,c=Math.min(a,d.chunk*d.ratio)}else l=r.getPixelForValue(this.getParsed(t)[r.axis],t),c=Math.min(a,i.min*i.ratio);return{base:l-c/2,head:l+c/2,center:l,size:c}}draw(){const t=this._cachedMeta,i=t.vScale,r=t.data,s=r.length;let o=0;for(;o<s;++o)null!==this.getParsed(o)[i.axis]&&r[o].draw(this._ctx)}}return n.id="bar",n.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},n.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}},n})(),Aj=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,i,r,s){const o=super.parsePrimitiveData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=this.resolveDataElementOptions(a+r).radius;return o}parseArrayData(t,i,r,s){const o=super.parseArrayData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=K(i[r+a][2],this.resolveDataElementOptions(a+r).radius);return o}parseObjectData(t,i,r,s){const o=super.parseObjectData(t,i,r,s);for(let a=0;a<o.length;a++){const l=i[r+a];o[a]._custom=K(l&&l.r&&+l.r,this.resolveDataElementOptions(a+r).radius)}return o}getMaxOverflow(){const t=this._cachedMeta.data;let i=0;for(let r=t.length-1;r>=0;--r)i=Math.max(i,t[r].size(this.resolveDataElementOptions(r))/2);return i>0&&i}getLabelAndValue(t){const i=this._cachedMeta,{xScale:r,yScale:s}=i,o=this.getParsed(t),a=r.getLabelForValue(o.x),l=s.getLabelForValue(o.y),c=o._custom;return{label:i.label,value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const i=this._cachedMeta.data;this.updateElements(i,0,i.length,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l}=this._cachedMeta,c=this.resolveDataElementOptions(i,s),u=this.getSharedOptions(c),d=this.includeOptions(s,u),h=a.axis,f=l.axis;for(let p=i;p<i+r;p++){const g=t[p],_=!o&&this.getParsed(p),v={},b=v[h]=o?a.getPixelForDecimal(.5):a.getPixelForValue(_[h]),D=v[f]=o?l.getBasePixel():l.getPixelForValue(_[f]);v.skip=isNaN(b)||isNaN(D),d&&(v.options=this.resolveDataElementOptions(p,g.active?"active":s),o&&(v.options.radius=0)),this.updateElement(g,p,v,s)}this.updateSharedOptions(u,s,c)}resolveDataElementOptions(t,i){const r=this.getParsed(t);let s=super.resolveDataElementOptions(t,i);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const o=s.radius;return"active"!==i&&(s.radius=0),s.radius+=K(r&&r._custom,o),s}}return n.id="bubble",n.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},n.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}},n})(),cx=(()=>{class n extends mi{constructor(t,i){super(t,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,i){const r=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=r;else{let a,l,o=c=>+r[c];if(oe(r[t])){const{key:c="value"}=this._parsing;o=u=>+or(r[u],c)}for(a=t,l=t+i;a<l;++a)s._parsed[a]=o(a)}}_getRotation(){return An(this.options.rotation-90)}_getCircumference(){return An(this.options.circumference)}_getRotationExtents(){let t=_e,i=-_e;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)){const s=this.chart.getDatasetMeta(r).controller,o=s._getRotation(),a=s._getCircumference();t=Math.min(t,o),i=Math.max(i,o+a)}return{rotation:t,circumference:i-t}}update(t){const i=this.chart,{chartArea:r}=i,s=this._cachedMeta,o=s.data,a=this.getMaxBorderWidth()+this.getMaxOffset(o)+this.options.spacing,l=Math.max((Math.min(r.width,r.height)-a)/2,0),c=Math.min(((n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100:n/e)(this.options.cutout,l),1),u=this._getRingWeight(this.index),{circumference:d,rotation:h}=this._getRotationExtents(),{ratioX:f,ratioY:p,offsetX:g,offsetY:_}=function(n,e,t){let i=1,r=1,s=0,o=0;if(e<_e){const a=n,l=a+e,c=Math.cos(a),u=Math.sin(a),d=Math.cos(l),h=Math.sin(l),f=(D,C,w)=>Qo(D,a,l,!0)?1:Math.max(C,C*t,w,w*t),p=(D,C,w)=>Qo(D,a,l,!0)?-1:Math.min(C,C*t,w,w*t),g=f(0,c,d),_=f(Fe,u,h),v=p(Ae,c,d),b=p(Ae+Fe,u,h);i=(g-v)/2,r=(_-b)/2,s=-(g+v)/2,o=-(_+b)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:o}}(h,d,c),D=Math.max(Math.min((r.width-a)/f,(r.height-a)/p)/2,0),C=rw(this.options.radius,D),M=(C-Math.max(C*c,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*C,this.offsetY=_*C,s.total=this.calculateTotal(),this.outerRadius=C-M*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-M*u,0),this.updateElements(o,0,o.length,t)}_circumference(t,i){const r=this.options,s=this._cachedMeta,o=this._getCircumference();return i&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*o/_e)}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=a.chartArea,d=(l.left+l.right)/2,h=(l.top+l.bottom)/2,f=o&&a.options.animation.animateScale,p=f?0:this.innerRadius,g=f?0:this.outerRadius,_=this.resolveDataElementOptions(i,s),v=this.getSharedOptions(_),b=this.includeOptions(s,v);let C,D=this._getRotation();for(C=0;C<i;++C)D+=this._circumference(C,o);for(C=i;C<i+r;++C){const w=this._circumference(C,o),M=t[C],A={x:d+this.offsetX,y:h+this.offsetY,startAngle:D,endAngle:D+w,circumference:w,outerRadius:g,innerRadius:p};b&&(A.options=v||this.resolveDataElementOptions(C,M.active?"active":s)),D+=w,this.updateElement(M,C,A,s)}this.updateSharedOptions(v,s,_)}calculateTotal(){const t=this._cachedMeta,i=t.data;let s,r=0;for(s=0;s<i.length;s++){const o=t._parsed[s];null!==o&&!isNaN(o)&&this.chart.getDataVisibility(s)&&!i[s].hidden&&(r+=Math.abs(o))}return r}calculateCircumference(t){const i=this._cachedMeta.total;return i>0&&!isNaN(t)?_e*(Math.abs(t)/i):0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t],r.options.locale);return{label:s[t]||"",value:o}}getMaxBorderWidth(t){let i=0;const r=this.chart;let s,o,a,l,c;if(!t)for(s=0,o=r.data.datasets.length;s<o;++s)if(r.isDatasetVisible(s)){a=r.getDatasetMeta(s),t=a.data,l=a.controller;break}if(!t)return 0;for(s=0,o=t.length;s<o;++s)c=l.resolveDataElementOptions(s),"inner"!==c.borderAlign&&(i=Math.max(i,c.borderWidth||0,c.hoverBorderWidth||0));return i}getMaxOffset(t){let i=0;for(let r=0,s=t.length;r<s;++r){const o=this.resolveDataElementOptions(r);i=Math.max(i,o.offset||0,o.hoverOffset||0)}return i}_getRingWeightOffset(t){let i=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(i+=this._getRingWeight(r));return i}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}return n.id="doughnut",n.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},n.descriptors={_scriptable:e=>"spacing"!==e,_indexable:e=>"spacing"!==e},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(e){let t=e.label;const i=": "+e.formattedValue;return we(t)?(t=t.slice(),t[0]+=i):t+=i,t}}}}},n})(),ux=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const i=this._cachedMeta,{dataset:r,data:s=[],_dataset:o}=i,a=this.chart._animationsDisabled;let{start:l,count:c}=function(n,e,t){const i=e.length;let r=0,s=i;if(n._sorted){const{iScale:o,_parsed:a}=n,l=o.axis,{min:c,max:u,minDefined:d,maxDefined:h}=o.getUserBounds();d&&(r=ot(Math.min(pi(a,o.axis,c).lo,t?i:pi(e,l,o.getPixelForValue(c)).lo),0,i-1)),s=h?ot(Math.max(pi(a,o.axis,u).hi+1,t?0:pi(e,l,o.getPixelForValue(u)).hi+1),r,i)-r:i-r}return{start:r,count:s}}(i,s,a);this._drawStart=l,this._drawCount=c,function(n){const{xScale:e,yScale:t,_scaleRanges:i}=n,r={xmin:e.min,xmax:e.max,ymin:t.min,ymax:t.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==e.min||i.xmax!==e.max||i.ymin!==t.min||i.ymax!==t.max;return Object.assign(i,r),s}(i)&&(l=0,c=s.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!o._decimated,r.points=s;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(r,void 0,{animated:!a,options:u},t),this.updateElements(s,l,c,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l,_stacked:c,_dataset:u}=this._cachedMeta,d=this.resolveDataElementOptions(i,s),h=this.getSharedOptions(d),f=this.includeOptions(s,h),p=a.axis,g=l.axis,{spanGaps:_,segment:v}=this.options,b=Zo(_)?_:Number.POSITIVE_INFINITY,D=this.chart._animationsDisabled||o||"none"===s;let C=i>0&&this.getParsed(i-1);for(let w=i;w<i+r;++w){const M=t[w],A=this.getParsed(w),O=D?M:{},k=de(A[g]),ue=O[p]=a.getPixelForValue(A[p],w),te=O[g]=o||k?l.getBasePixel():l.getPixelForValue(c?this.applyStack(l,A,c):A[g],w);O.skip=isNaN(ue)||isNaN(te)||k,O.stop=w>0&&A[p]-C[p]>b,v&&(O.parsed=A,O.raw=u.data[w]),f&&(O.options=h||this.resolveDataElementOptions(w,M.active?"active":s)),D||this.updateElement(M,w,O,s),C=A}this.updateSharedOptions(h,s,d)}getMaxOverflow(){const t=this._cachedMeta,i=t.dataset,r=i.options&&i.options.borderWidth||0,s=t.data||[];if(!s.length)return r;const o=s[0].size(this.resolveDataElementOptions(0)),a=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(r,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}return n.id="line",n.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},n.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}},n})();var Pj=Object.freeze({__proto__:null,BarController:Sj,BubbleController:Aj,DoughnutController:cx,LineController:ux,PolarAreaController:(()=>{class n extends mi{constructor(t,i){super(t,i),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t].r,r.options.locale);return{label:s[t]||"",value:o}}update(t){const i=this._cachedMeta.data;this._updateRadius(),this.updateElements(i,0,i.length,t)}_updateRadius(){const t=this.chart,i=t.chartArea,r=t.options,s=Math.min(i.right-i.left,i.bottom-i.top),o=Math.max(s/2,0),l=(o-Math.max(r.cutoutPercentage?o/100*r.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=o-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=this.getDataset(),u=a.options.animation,d=this._cachedMeta.rScale,h=d.xCenter,f=d.yCenter,p=d.getIndexAngle(0)-.5*Ae;let _,g=p;const v=360/this.countVisibleElements();for(_=0;_<i;++_)g+=this._computeAngle(_,s,v);for(_=i;_<i+r;_++){const b=t[_];let D=g,C=g+this._computeAngle(_,s,v),w=a.getDataVisibility(_)?d.getDistanceFromCenterForValue(l.data[_]):0;g=C,o&&(u.animateScale&&(w=0),u.animateRotate&&(D=C=p));const M={x:h,y:f,innerRadius:0,outerRadius:w,startAngle:D,endAngle:C,options:this.resolveDataElementOptions(_,b.active?"active":s)};this.updateElement(b,_,M,s)}}countVisibleElements(){const t=this.getDataset();let r=0;return this._cachedMeta.data.forEach((s,o)=>{!isNaN(t.data[o])&&this.chart.getDataVisibility(o)&&r++}),r}_computeAngle(t,i,r){return this.chart.getDataVisibility(t)?An(this.resolveDataElementOptions(t,i).angle||r):0}}return n.id="polarArea",n.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:e=>e.chart.data.labels[e.dataIndex]+": "+e.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}},n})(),PieController:(()=>{class n extends cx{}return n.id="pie",n.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"},n})(),RadarController:(()=>{class n extends mi{getLabelAndValue(t){const i=this._cachedMeta.vScale,r=this.getParsed(t);return{label:i.getLabels()[t],value:""+i.getLabelForValue(r[i.axis])}}update(t){const i=this._cachedMeta,r=i.dataset,s=i.data||[],o=i.iScale.getLabels();if(r.points=s,"resize"!==t){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0),this.updateElement(r,void 0,{_loop:!0,_fullLoop:o.length===s.length,options:a},t)}this.updateElements(s,0,s.length,t)}updateElements(t,i,r,s){const o=this.getDataset(),a=this._cachedMeta.rScale,l="reset"===s;for(let c=i;c<i+r;c++){const u=t[c],d=this.resolveDataElementOptions(c,u.active?"active":s),h=a.getPointPositionForValue(c,o.data[c]),f=l?a.xCenter:h.x,p=l?a.yCenter:h.y,g={x:f,y:p,angle:h.angle,skip:isNaN(f)||isNaN(p),options:d};this.updateElement(u,c,g,s)}}}return n.id="radar",n.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},n.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}},n})(),ScatterController:(()=>{class n extends ux{}return n.id="scatter",n.defaults={showLine:!1,fill:!1},n.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:e=>"("+e.label+", "+e.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}},n})()});function fr(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var kj={_date:(()=>{class n{constructor(t){this.options=t||{}}formats(){return fr()}parse(t,i){return fr()}format(t,i){return fr()}add(t,i,r){return fr()}diff(t,i,r){return fr()}startOf(t,i,r){return fr()}endOf(t,i){return fr()}}return n.override=function(e){Object.assign(n.prototype,e)},n})()};function la(n,e){return"native"in n?{x:n.x,y:n.y}:Vw(n,e)}function Fj(n,e,t,i){const{controller:r,data:s,_sorted:o}=n,a=r._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&o&&s.length){const l=a._reversePixels?yB:pi;if(!i)return l(s,e,t);if(r._sharedOptions){const c=s[0],u="function"==typeof c.getRange&&c.getRange(e);if(u){const d=l(s,e,t-u),h=l(s,e,t+u);return{lo:d.lo,hi:h.hi}}}}return{lo:0,hi:s.length-1}}function xp(n,e,t,i,r){const s=n.getSortedVisibleDatasetMetas(),o=t[e];for(let a=0,l=s.length;a<l;++a){const{index:c,data:u}=s[a],{lo:d,hi:h}=Fj(s[a],e,o,r);for(let f=d;f<=h;++f){const p=u[f];p.skip||i(p,c,f)}}}function Ep(n,e,t,i){const r=[];return cr(e,n.chartArea,n._minPadding)&&xp(n,t,e,function(o,a,l){o.inRange(e.x,e.y,i)&&r.push({element:o,datasetIndex:a,index:l})},!0),r}function Mp(n,e,t,i,r){return cr(e,n.chartArea,n._minPadding)?"r"!==t||i?function(n,e,t,i,r){let s=[];const o=function(n){const e=-1!==n.indexOf("x"),t=-1!==n.indexOf("y");return function(i,r){const s=e?Math.abs(i.x-r.x):0,o=t?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(o,2))}}(t);let a=Number.POSITIVE_INFINITY;return xp(n,t,e,function(c,u,d){const h=c.inRange(e.x,e.y,r);if(i&&!h)return;const f=c.getCenterPoint(r);if(!cr(f,n.chartArea,n._minPadding)&&!h)return;const g=o(e,f);g<a?(s=[{element:c,datasetIndex:u,index:d}],a=g):g===a&&s.push({element:c,datasetIndex:u,index:d})}),s}(n,e,t,i,r):function(n,e,t,i){let r=[];return xp(n,t,e,function(o,a,l){const{startAngle:c,endAngle:u}=o.getProps(["startAngle","endAngle"],i),{angle:d}=hw(o,{x:e.x,y:e.y});Qo(d,c,u)&&r.push({element:o,datasetIndex:a,index:l})}),r}(n,e,t,r):[]}function dx(n,e,t,i){const r=la(e,n),s=[],o=t.axis,a="x"===o?"inXRange":"inYRange";let l=!1;return function(n,e){const t=n.getSortedVisibleDatasetMetas();let i,r,s;for(let o=0,a=t.length;o<a;++o){({index:i,data:r}=t[o]);for(let l=0,c=r.length;l<c;++l)s=r[l],s.skip||e(s,i,l)}}(n,(c,u,d)=>{c[a](r[o],i)&&s.push({element:c,datasetIndex:u,index:d}),c.inRange(r.x,r.y,i)&&(l=!0)}),t.intersect&&!l?[]:s}var Bj={modes:{index(n,e,t,i){const r=la(e,n),s=t.axis||"x",o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i),a=[];return o.length?(n.getSortedVisibleDatasetMetas().forEach(l=>{const c=o[0].index,u=l.data[c];u&&!u.skip&&a.push({element:u,datasetIndex:l.index,index:c})}),a):[]},dataset(n,e,t,i){const r=la(e,n),s=t.axis||"xy";let o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i);if(o.length>0){const a=o[0].datasetIndex,l=n.getDatasetMeta(a).data;o=[];for(let c=0;c<l.length;++c)o.push({element:l[c],datasetIndex:a,index:c})}return o},point:(n,e,t,i)=>Ep(n,la(e,n),t.axis||"xy",i),nearest:(n,e,t,i)=>Mp(n,la(e,n),t.axis||"xy",t.intersect,i),x:(n,e,t,i)=>dx(n,e,{axis:"x",intersect:t.intersect},i),y:(n,e,t,i)=>dx(n,e,{axis:"y",intersect:t.intersect},i)}};const hx=["left","top","right","bottom"];function ca(n,e){return n.filter(t=>t.pos===e)}function fx(n,e){return n.filter(t=>-1===hx.indexOf(t.pos)&&t.box.axis===e)}function ua(n,e){return n.sort((t,i)=>{const r=e?i:t,s=e?t:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function px(n,e,t,i){return Math.max(n[t],e[t])+Math.max(n[i],e[i])}function gx(n,e){n.top=Math.max(n.top,e.top),n.left=Math.max(n.left,e.left),n.bottom=Math.max(n.bottom,e.bottom),n.right=Math.max(n.right,e.right)}function zj(n,e,t,i){const{pos:r,box:s}=t,o=n.maxPadding;if(!oe(r)){t.size&&(n[r]-=t.size);const d=i[t.stack]||{size:0,count:1};d.size=Math.max(d.size,t.horizontal?s.height:s.width),t.size=d.size/d.count,n[r]+=t.size}s.getPadding&&gx(o,s.getPadding());const a=Math.max(0,e.outerWidth-px(o,n,"left","right")),l=Math.max(0,e.outerHeight-px(o,n,"top","bottom")),c=a!==n.w,u=l!==n.h;return n.w=a,n.h=l,t.horizontal?{same:c,other:u}:{same:u,other:c}}function Gj(n,e){const t=e.maxPadding;return function(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(e[o],t[o])}),s}(n?["left","right"]:["top","bottom"])}function da(n,e,t,i){const r=[];let s,o,a,l,c,u;for(s=0,o=n.length,c=0;s<o;++s){a=n[s],l=a.box,l.update(a.width||e.w,a.height||e.h,Gj(a.horizontal,e));const{same:d,other:h}=zj(e,t,a,i);c|=d&&r.length,u=u||h,l.fullSize||r.push(a)}return c&&da(r,e,t,i)||u}function Nc(n,e,t,i,r){n.top=t,n.left=e,n.right=e+i,n.bottom=t+r,n.width=i,n.height=r}function mx(n,e,t,i){const r=t.padding;let{x:s,y:o}=e;for(const a of n){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const d=e.w*u,h=c.size||l.height;un(c.start)&&(o=c.start),l.fullSize?Nc(l,r.left,o,t.outerWidth-r.right-r.left,h):Nc(l,e.left+c.placed,o,d,h),c.start=o,c.placed+=d,o=l.bottom}else{const d=e.h*u,h=c.size||l.width;un(c.start)&&(s=c.start),l.fullSize?Nc(l,s,r.top,h,t.outerHeight-r.bottom-r.top):Nc(l,s,e.top+c.placed,h,d),c.start=s,c.placed+=d,s=l.right}}e.x=s,e.y=o}ae.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var mt={addBox(n,e){n.boxes||(n.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},n.boxes.push(e)},removeBox(n,e){const t=n.boxes?n.boxes.indexOf(e):-1;-1!==t&&n.boxes.splice(t,1)},configure(n,e,t){e.fullSize=t.fullSize,e.position=t.position,e.weight=t.weight},update(n,e,t,i){if(!n)return;const r=gt(n.options.layout.padding),s=Math.max(e-r.width,0),o=Math.max(t-r.height,0),a=function(n){const e=function(n){const e=[];let t,i,r,s,o,a;for(t=0,i=(n||[]).length;t<i;++t)r=n[t],({position:s,options:{stack:o,stackWeight:a=1}}=r),e.push({index:t,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:o&&s+o,stackWeight:a});return e}(n),t=ua(e.filter(c=>c.box.fullSize),!0),i=ua(ca(e,"left"),!0),r=ua(ca(e,"right")),s=ua(ca(e,"top"),!0),o=ua(ca(e,"bottom")),a=fx(e,"x"),l=fx(e,"y");return{fullSize:t,leftAndTop:i.concat(s),rightAndBottom:r.concat(l).concat(o).concat(a),chartArea:ca(e,"chartArea"),vertical:i.concat(r).concat(l),horizontal:s.concat(o).concat(a)}}(n.boxes),l=a.vertical,c=a.horizontal;pe(n.boxes,g=>{"function"==typeof g.beforeLayout&&g.beforeLayout()});const u=l.reduce((g,_)=>_.box.options&&!1===_.box.options.display?g:g+1,0)||1,d=Object.freeze({outerWidth:e,outerHeight:t,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/u,hBoxMaxHeight:o/2}),h=Object.assign({},r);gx(h,gt(i));const f=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),p=function(n,e){const t=function(n){const e={};for(const t of n){const{stack:i,pos:r,stackWeight:s}=t;if(!i||!hx.includes(r))continue;const o=e[i]||(e[i]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=s}return e}(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=e;let s,o,a;for(s=0,o=n.length;s<o;++s){a=n[s];const{fullSize:l}=a.box,c=t[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*i:l&&e.availableWidth,a.height=r):(a.width=i,a.height=u?u*r:l&&e.availableHeight)}return t}(l.concat(c),d);da(a.fullSize,f,d,p),da(l,f,d,p),da(c,f,d,p)&&da(l,f,d,p),function(n){const e=n.maxPadding;function t(i){const r=Math.max(e[i]-n[i],0);return n[i]+=r,r}n.y+=t("top"),n.x+=t("left"),t("right"),t("bottom")}(f),mx(a.leftAndTop,f,d,p),f.x+=f.w,f.y+=f.h,mx(a.rightAndBottom,f,d,p),n.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},pe(a.chartArea,g=>{const _=g.box;Object.assign(_,n.chartArea),_.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class yx{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,i){}removeEventListener(e,t,i){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,i,r){return t=Math.max(0,t||e.width),i=i||e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):i)}}isAttached(e){return!0}updateConfig(e){}}class qj extends yx{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const Lc="$chartjs",Yj={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},_x=n=>null===n||""===n,vx=!!UB&&{passive:!0};function Zj(n,e,t){n.canvas.removeEventListener(e,t,vx)}function Vc(n,e){for(const t of n)if(t===e||t.contains(e))return!0}function Qj(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.addedNodes,i),o=o&&!Vc(a.removedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}function eH(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.removedNodes,i),o=o&&!Vc(a.addedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}const ha=new Map;let bx=0;function Cx(){const n=window.devicePixelRatio;n!==bx&&(bx=n,ha.forEach((e,t)=>{t.currentDevicePixelRatio!==n&&e()}))}function iH(n,e,t){const i=n.canvas,r=i&&vp(i);if(!r)return;const s=iw((a,l)=>{const c=r.clientWidth;t(a,l),c<r.clientWidth&&t()},window),o=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;0===c&&0===u||s(c,u)});return o.observe(r),function(n,e){ha.size||window.addEventListener("resize",Cx),ha.set(n,e)}(n,s),o}function Sp(n,e,t){t&&t.disconnect(),"resize"===e&&function(n){ha.delete(n),ha.size||window.removeEventListener("resize",Cx)}(n)}function rH(n,e,t){const i=n.canvas,r=iw(s=>{null!==n.ctx&&t(function(n,e){const t=Yj[n.type]||n.type,{x:i,y:r}=Vw(n,e);return{type:t,chart:e,native:n,x:void 0!==i?i:null,y:void 0!==r?r:null}}(s,n))},n,s=>{const o=s[0];return[o,o.offsetX,o.offsetY]});return function(n,e,t){n.addEventListener(e,t,vx)}(i,e,r),r}class sH extends yx{acquireContext(e,t){const i=e&&e.getContext&&e.getContext("2d");return i&&i.canvas===e?(function(n,e){const t=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Lc]={initial:{height:i,width:r,style:{display:t.display,height:t.height,width:t.width}}},t.display=t.display||"block",t.boxSizing=t.boxSizing||"border-box",_x(r)){const s=jw(n,"width");void 0!==s&&(n.width=s)}if(_x(i))if(""===n.style.height)n.height=n.width/(e||2);else{const s=jw(n,"height");void 0!==s&&(n.height=s)}}(e,t),i):null}releaseContext(e){const t=e.canvas;if(!t[Lc])return!1;const i=t[Lc].initial;["height","width"].forEach(s=>{const o=i[s];de(o)?t.removeAttribute(s):t.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{t.style[s]=r[s]}),t.width=t.width,delete t[Lc],!0}addEventListener(e,t,i){this.removeEventListener(e,t),(e.$proxies||(e.$proxies={}))[t]=({attach:Qj,detach:eH,resize:iH}[t]||rH)(e,t,i)}removeEventListener(e,t){const i=e.$proxies||(e.$proxies={}),r=i[t];r&&(({attach:Sp,detach:Sp,resize:Sp}[t]||Zj)(e,t,r),i[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,i,r){return function(n,e,t,i){const r=Fc(n),s=dr(r,"margin"),o=Rc(r.maxWidth,n,"clientWidth")||Cc,a=Rc(r.maxHeight,n,"clientHeight")||Cc,l=function(n,e,t){let i,r;if(void 0===e||void 0===t){const s=vp(n);if(s){const o=s.getBoundingClientRect(),a=Fc(s),l=dr(a,"border","width"),c=dr(a,"padding");e=o.width-c.width-l.width,t=o.height-c.height-l.height,i=Rc(a.maxWidth,s,"clientWidth"),r=Rc(a.maxHeight,s,"clientHeight")}else e=n.clientWidth,t=n.clientHeight}return{width:e,height:t,maxWidth:i||Cc,maxHeight:r||Cc}}(n,e,t);let{width:c,height:u}=l;if("content-box"===r.boxSizing){const d=dr(r,"border","width"),h=dr(r,"padding");c-=h.width+d.width,u-=h.height+d.height}return c=Math.max(0,c-s.width),u=Math.max(0,i?Math.floor(c/i):u-s.height),c=bp(Math.min(c,o,l.maxWidth)),u=bp(Math.min(u,a,l.maxHeight)),c&&!u&&(u=bp(c/2)),{width:c,height:u}}(e,t,i,r)}isAttached(e){const t=vp(e);return!(!t||!t.isConnected)}}class In{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(e){const{x:t,y:i}=this.getProps(["x","y"],e);return{x:t,y:i}}hasValue(){return Zo(this.x)&&Zo(this.y)}getProps(e,t){const i=this.$animations;if(!t||!i)return this;const r={};return e.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}In.defaults={},In.defaultRoutes=void 0;const Dx={values:n=>we(n)?n:""+n,numeric(n,e,t){if(0===n)return"0";const i=this.chart.options.locale;let r,s=n;if(t.length>1){const c=Math.max(Math.abs(t[0].value),Math.abs(t[t.length-1].value));(c<1e-4||c>1e15)&&(r="scientific"),s=function(n,e){let t=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(t)>=1&&n!==Math.floor(n)&&(t=n-Math.floor(n)),t}(n,t)}const o=dn(Math.abs(s)),a=Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:r,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),oa(n,i,l)},logarithmic(n,e,t){if(0===n)return"0";const i=n/Math.pow(10,Math.floor(dn(n)));return 1===i||2===i||5===i?Dx.numeric.call(this,n,e,t):""}};var Bc={formatters:Dx};function jc(n,e,t,i,r){const s=K(i,0),o=Math.min(K(r,n.length),n.length);let l,c,u,a=0;for(t=Math.ceil(t),r&&(l=r-i,t=l/Math.floor(l/t)),u=s;u<0;)a++,u=Math.round(s+a*t);for(c=Math.max(s,0);c<o;c++)c===u&&(e.push(n[c]),a++,u=Math.round(s+a*t))}ae.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(n,e)=>e.lineWidth,tickColor:(n,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Bc.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),ae.route("scale.ticks","color","","color"),ae.route("scale.grid","color","","borderColor"),ae.route("scale.grid","borderColor","","borderColor"),ae.route("scale.title","color","","color"),ae.describe("scale",{_fallback:!1,_scriptable:n=>!n.startsWith("before")&&!n.startsWith("after")&&"callback"!==n&&"parser"!==n,_indexable:n=>"borderDash"!==n&&"tickBorderDash"!==n}),ae.describe("scales",{_fallback:"scale"}),ae.describe("scale.ticks",{_scriptable:n=>"backdropPadding"!==n&&"callback"!==n,_indexable:n=>"backdropPadding"!==n});const wx=(n,e,t)=>"top"===e||"left"===e?n[e]+t:n[e]-t;function xx(n,e){const t=[],i=n.length/e,r=n.length;let s=0;for(;s<r;s+=i)t.push(n[Math.floor(s)]);return t}function gH(n,e,t){const i=n.ticks.length,r=Math.min(e,i-1),s=n._startPixel,o=n._endPixel,a=1e-6;let c,l=n.getPixelForTick(r);if(!(t&&(c=1===i?Math.max(l-s,o-l):0===e?(n.getPixelForTick(1)-l)/2:(l-n.getPixelForTick(r-1))/2,l+=r<e?c:-c,l<s-a||l>o+a)))return l}function fa(n){return n.drawTicks?n.tickLength:0}function Ex(n,e){if(!n.display)return 0;const t=et(n.font,e),i=gt(n.padding);return(we(n.text)?n.text.length:1)*t.lineHeight+i.height}function vH(n,e,t){let i=np(n);return(t&&"right"!==e||!t&&"right"===e)&&(i=(n=>"left"===n?"right":"right"===n?"left":n)(i)),i}class pr extends In{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:i,_suggestedMax:r}=this;return e=cn(e,Number.POSITIVE_INFINITY),t=cn(t,Number.NEGATIVE_INFINITY),i=cn(i,Number.POSITIVE_INFINITY),r=cn(r,Number.NEGATIVE_INFINITY),{min:cn(e,i),max:cn(t,r),minDefined:Be(e),maxDefined:Be(t)}}getMinMax(e){let o,{min:t,max:i,minDefined:r,maxDefined:s}=this.getUserBounds();if(r&&s)return{min:t,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)o=a[l].controller.getMinMax(this,e),r||(t=Math.min(t,o.min)),s||(i=Math.max(i,o.max));return t=s&&t>i?i:t,i=r&&t>i?t:i,{min:cn(t,cn(i,t)),max:cn(i,cn(t,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){xe(this.options.beforeUpdate,[this])}update(e,t,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(n,e,t){const{min:i,max:r}=n,s=rw(e,(r-i)/2),o=(a,l)=>t&&0===a?0:a+l;return{min:o(i,-Math.abs(s)),max:o(r,s)}}(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?xx(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=function(n,e){const t=n.options.ticks,i=t.maxTicksLimit||function(n){const e=n.options.offset,t=n._tickSize();return Math.floor(Math.min(n._length/t+(e?0:1),n._maxLength/t))}(n),r=t.major.enabled?function(n){const e=[];let t,i;for(t=0,i=n.length;t<i;t++)n[t].major&&e.push(t);return e}(e):[],s=r.length,o=r[0],a=r[s-1],l=[];if(s>i)return function(n,e,t,i){let o,r=0,s=t[0];for(i=Math.ceil(i),o=0;o<n.length;o++)o===s&&(e.push(n[o]),r++,s=t[r*i])}(e,l,r,s/i),l;const c=function(n,e,t){const i=function(n){const e=n.length;let t,i;if(e<2)return!1;for(i=n[0],t=1;t<e;++t)if(n[t]-n[t-1]!==i)return!1;return i}(n),r=e.length/t;if(!i)return Math.max(r,1);const s=function(n){const e=[],t=Math.sqrt(n);let i;for(i=1;i<t;i++)n%i==0&&(e.push(i),e.push(n/i));return t===(0|t)&&e.push(t),e.sort((r,s)=>r-s).pop(),e}(i);for(let o=0,a=s.length-1;o<a;o++){const l=s[o];if(l>r)return l}return Math.max(r,1)}(r,e,i);if(s>0){let u,d;const h=s>1?Math.round((a-o)/(s-1)):null;for(jc(e,l,c,de(h)?0:o-h,o),u=0,d=s-1;u<d;u++)jc(e,l,c,r[u],r[u+1]);return jc(e,l,c,a,de(h)?e.length:a+h),l}return jc(e,l,c),l}(this,this.ticks),this._labelSizes=null),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,i,e=this.options.reverse;this.isHorizontal()?(t=this.left,i=this.right):(t=this.top,i=this.bottom,e=!e),this._startPixel=t,this._endPixel=i,this._reversePixels=e,this._length=i-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){xe(this.options.afterUpdate,[this])}beforeSetDimensions(){xe(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){xe(this.options.afterSetDimensions,[this])}_callHooks(e){this.chart.notifyPlugins(e,this.getContext()),xe(this.options[e],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){xe(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(e){const t=this.options.ticks;let i,r,s;for(i=0,r=e.length;i<r;i++)s=e[i],s.label=xe(t.callback,[s.value,i,e],this)}afterTickToLabelConversion(){xe(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){xe(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const e=this.options,t=e.ticks,i=this.ticks.length,r=t.minRotation||0,s=t.maxRotation;let a,l,c,o=r;if(!this._isVisible()||!t.display||r>=s||i<=1||!this.isHorizontal())return void(this.labelRotation=r);const u=this._getLabelSizes(),d=u.widest.width,h=u.highest.height,f=ot(this.chart.width-d,0,this.maxWidth);a=e.offset?this.maxWidth/i:f/(i-1),d+6>a&&(a=f/(i-(e.offset?.5:1)),l=this.maxHeight-fa(e.grid)-t.padding-Ex(e.title,this.chart.options.font),c=Math.sqrt(d*d+h*h),o=rp(Math.min(Math.asin(ot((u.highest.height+6)/a,-1,1)),Math.asin(ot(l/c,-1,1))-Math.asin(ot(h/c,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){xe(this.options.afterCalculateLabelRotation,[this])}beforeFit(){xe(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const l=Ex(r,t.options.font);if(a?(e.width=this.maxWidth,e.height=fa(s)+l):(e.height=this.maxHeight,e.width=fa(s)+l),i.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:h}=this._getLabelSizes(),f=2*i.padding,p=An(this.labelRotation),g=Math.cos(p),_=Math.sin(p);a?e.height=Math.min(this.maxHeight,e.height+(i.mirror?0:_*d.width+g*h.height)+f):e.width=Math.min(this.maxWidth,e.width+(i.mirror?0:g*d.width+_*h.height)+f),this._calculatePadding(c,u,_,g)}}this._handleMargins(),a?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,i,r){const{ticks:{align:s,padding:o},position:a}=this.options,l=0!==this.labelRotation,c="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,f=0;l?c?(h=r*e.width,f=i*t.height):(h=i*e.height,f=r*t.width):"start"===s?f=t.width:"end"===s?h=e.width:(h=e.width/2,f=t.width/2),this.paddingLeft=Math.max((h-u+o)*this.width/(this.width-u),0),this.paddingRight=Math.max((f-d+o)*this.width/(this.width-d),0)}else{let u=t.height/2,d=e.height/2;"start"===s?(u=0,d=e.height):"end"===s&&(u=t.height,d=0),this.paddingTop=u+o,this.paddingBottom=d+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){xe(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,i=e.length;t<i;t++)de(e[t].label)&&(e.splice(t,1),i--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let e=this._labelSizes;if(!e){const t=this.options.ticks.sampleSize;let i=this.ticks;t<i.length&&(i=xx(i,t)),this._labelSizes=e=this._computeLabelSizes(i,i.length)}return e}_computeLabelSizes(e,t){const{ctx:i,_longestTextCache:r}=this,s=[],o=[];let c,u,d,h,f,p,g,_,v,b,D,a=0,l=0;for(c=0;c<t;++c){if(h=e[c].label,f=this._resolveTickFontOptions(c),i.font=p=f.string,g=r[p]=r[p]||{data:{},gc:[]},_=f.lineHeight,v=b=0,de(h)||we(h)){if(we(h))for(u=0,d=h.length;u<d;++u)D=h[u],!de(D)&&!we(D)&&(v=Ac(i,g.data,g.gc,v,D),b+=_)}else v=Ac(i,g.data,g.gc,v,h),b=_;s.push(v),o.push(b),a=Math.max(v,a),l=Math.max(b,l)}!function(n,e){pe(n,t=>{const i=t.gc,r=i.length/2;let s;if(r>e){for(s=0;s<r;++s)delete t.data[i[s]];i.splice(0,r)}})}(r,t);const C=s.indexOf(a),w=o.indexOf(l),M=A=>({width:s[A]||0,height:o[A]||0});return{first:M(0),last:M(t-1),widest:M(C),highest:M(w),widths:s,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return ot(this._alignToPixels?lr(this.chart,t,0):t,-32768,32767)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&e<t.length){const i=t[e];return i.$context||(i.$context=function(n,e,t){return Li(n,{tick:t,index:e,type:"tick"})}(this.getContext(),e,i))}return this.$context||(this.$context=function(n,e){return Li(n,{scale:e,type:"scale"})}(this.chart.getContext(),this))}_tickSize(){const e=this.options.ticks,t=An(this.labelRotation),i=Math.abs(Math.cos(t)),r=Math.abs(Math.sin(t)),s=this._getLabelSizes(),o=e.autoSkipPadding||0,a=s?s.widest.width+o:0,l=s?s.highest.height+o:0;return this.isHorizontal()?l*i>a*r?a/i:l/r:l*r<a*i?l/i:a/r}_isVisible(){const e=this.options.display;return"auto"!==e?!!e:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(e){const t=this.axis,i=this.chart,r=this.options,{grid:s,position:o}=r,a=s.offset,l=this.isHorizontal(),u=this.ticks.length+(a?1:0),d=fa(s),h=[],f=s.setContext(this.getContext()),p=f.drawBorder?f.borderWidth:0,g=p/2,_=function(J){return lr(i,J,p)};let v,b,D,C,w,M,A,O,k,ue,te,ne;if("top"===o)v=_(this.bottom),M=this.bottom-d,O=v-g,ue=_(e.top)+g,ne=e.bottom;else if("bottom"===o)v=_(this.top),ue=e.top,ne=_(e.bottom)-g,M=v+g,O=this.top+d;else if("left"===o)v=_(this.right),w=this.right-d,A=v-g,k=_(e.left)+g,te=e.right;else if("right"===o)v=_(this.left),k=e.left,te=_(e.right)-g,w=v+g,A=this.left+d;else if("x"===t){if("center"===o)v=_((e.top+e.bottom)/2+.5);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}ue=e.top,ne=e.bottom,M=v+g,O=M+d}else if("y"===t){if("center"===o)v=_((e.left+e.right)/2);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}w=v-g,A=w-d,k=e.left,te=e.right}const Ie=K(r.ticks.maxTicksLimit,u),tt=Math.max(1,Math.ceil(u/Ie));for(b=0;b<u;b+=tt){const J=s.setContext(this.getContext(b)),he=J.lineWidth,va=J.color,yr=s.borderDash||[],ba=J.borderDashOffset,tu=J.tickWidth,Ts=J.tickColor,Ca=J.tickBorderDash||[],Da=J.tickBorderDashOffset;D=gH(this,b,a),void 0!==D&&(C=lr(i,D,he),l?w=A=k=te=C:M=O=ue=ne=C,h.push({tx1:w,ty1:M,tx2:A,ty2:O,x1:k,y1:ue,x2:te,y2:ne,width:he,color:va,borderDash:yr,borderDashOffset:ba,tickWidth:tu,tickColor:Ts,tickBorderDash:Ca,tickBorderDashOffset:Da}))}return this._ticksLength=u,this._borderValue=v,h}_computeLabelItems(e){const t=this.axis,i=this.options,{position:r,ticks:s}=i,o=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:d}=s,h=fa(i.grid),f=h+u,p=d?-u:f,g=-An(this.labelRotation),_=[];let v,b,D,C,w,M,A,O,k,ue,te,ne,Ie="middle";if("top"===r)M=this.bottom-p,A=this._getXAxisLabelAlignment();else if("bottom"===r)M=this.top+p,A=this._getXAxisLabelAlignment();else if("left"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("right"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("x"===t){if("center"===r)M=(e.top+e.bottom)/2+f;else if(oe(r)){const J=Object.keys(r)[0];M=this.chart.scales[J].getPixelForValue(r[J])+f}A=this._getXAxisLabelAlignment()}else if("y"===t){if("center"===r)w=(e.left+e.right)/2-f;else if(oe(r)){const J=Object.keys(r)[0];w=this.chart.scales[J].getPixelForValue(r[J])}A=this._getYAxisLabelAlignment(h).textAlign}"y"===t&&("start"===l?Ie="top":"end"===l&&(Ie="bottom"));const tt=this._getLabelSizes();for(v=0,b=a.length;v<b;++v){D=a[v],C=D.label;const J=s.setContext(this.getContext(v));O=this.getPixelForTick(v)+s.labelOffset,k=this._resolveTickFontOptions(v),ue=k.lineHeight,te=we(C)?C.length:1;const he=te/2,va=J.color,yr=J.textStrokeColor,ba=J.textStrokeWidth;let tu;if(o?(w=O,ne="top"===r?"near"===c||0!==g?-te*ue+ue/2:"center"===c?-tt.highest.height/2-he*ue+ue:ue/2-tt.highest.height:"near"===c||0!==g?ue/2:"center"===c?tt.highest.height/2-he*ue:tt.highest.height-te*ue,d&&(ne*=-1)):(M=O,ne=(1-te)*ue/2),J.showLabelBackdrop){const Ts=gt(J.backdropPadding),Ca=tt.heights[v],Da=tt.widths[v];let zp=M+ne-Ts.top,Wp=w-Ts.left;switch(Ie){case"middle":zp-=Ca/2;break;case"bottom":zp-=Ca}switch(A){case"center":Wp-=Da/2;break;case"right":Wp-=Da}tu={left:Wp,top:zp,width:Da+Ts.width,height:Ca+Ts.height,color:J.backdropColor}}_.push({rotation:g,label:C,font:k,color:va,strokeColor:yr,strokeWidth:ba,textOffset:ne,textAlign:A,textBaseline:Ie,translation:[w,M],backdrop:tu})}return _}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-An(this.labelRotation))return"top"===e?"left":"right";let r="center";return"start"===t.align?r="left":"end"===t.align&&(r="right"),r}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=e+s,l=this._getLabelSizes().widest.width;let c,u;return"left"===t?r?(u=this.right+s,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u=this.left)):"right"===t?r?(u=this.left+s,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:i,top:r,width:s,height:o}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(i,r,s,o),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const r=this.ticks.findIndex(s=>s.value===e);return r>=0?t.setContext(this.getContext(r)).lineWidth:0}drawGrid(e){const t=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let s,o;const a=(l,c,u)=>{!u.width||!u.color||(i.save(),i.lineWidth=u.width,i.strokeStyle=u.color,i.setLineDash(u.borderDash||[]),i.lineDashOffset=u.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(t.display)for(s=0,o=r.length;s<o;++s){const l=r[s];t.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),t.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:e,ctx:t,options:{grid:i}}=this,r=i.setContext(this.getContext()),s=i.drawBorder?r.borderWidth:0;if(!s)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let l,c,u,d;this.isHorizontal()?(l=lr(e,this.left,s)-s/2,c=lr(e,this.right,o)+o/2,u=d=a):(u=lr(e,this.top,s)-s/2,d=lr(e,this.bottom,o)+o/2,l=c=a),t.save(),t.lineWidth=r.borderWidth,t.strokeStyle=r.borderColor,t.beginPath(),t.moveTo(l,u),t.lineTo(c,d),t.stroke(),t.restore()}drawLabels(e){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&Tc(i,r);const s=this._labelItems||(this._labelItems=this._computeLabelItems(e));let o,a;for(o=0,a=s.length;o<a;++o){const l=s[o],c=l.font,u=l.label;l.backdrop&&(i.fillStyle=l.backdrop.color,i.fillRect(l.backdrop.left,l.backdrop.top,l.backdrop.width,l.backdrop.height)),ur(i,u,0,l.textOffset,c,l)}r&&Oc(i)}drawTitle(){const{ctx:e,options:{position:t,title:i,reverse:r}}=this;if(!i.display)return;const s=et(i.font),o=gt(i.padding),a=i.align;let l=s.lineHeight/2;"bottom"===t||"center"===t||oe(t)?(l+=o.bottom,we(i.text)&&(l+=s.lineHeight*(i.text.length-1))):l+=o.top;const{titleX:c,titleY:u,maxWidth:d,rotation:h}=function(n,e,t,i){const{top:r,left:s,bottom:o,right:a,chart:l}=n,{chartArea:c,scales:u}=l;let h,f,p,d=0;const g=o-r,_=a-s;if(n.isHorizontal()){if(f=pt(i,s,a),oe(t)){const v=Object.keys(t)[0];p=u[v].getPixelForValue(t[v])+g-e}else p="center"===t?(c.bottom+c.top)/2+g-e:wx(n,t,e);h=a-s}else{if(oe(t)){const v=Object.keys(t)[0];f=u[v].getPixelForValue(t[v])-_+e}else f="center"===t?(c.left+c.right)/2-_+e:wx(n,t,e);p=pt(i,o,r),d="left"===t?-Fe:Fe}return{titleX:f,titleY:p,maxWidth:h,rotation:d}}(this,l,t,a);ur(e,i.text,0,0,s,{color:i.color,maxWidth:d,rotation:h,textAlign:vH(a,t,r),textBaseline:"middle",translation:[c,u]})}draw(e){!this._isVisible()||(this.drawBackground(),this.drawGrid(e),this.drawBorder(),this.drawTitle(),this.drawLabels(e))}_layers(){const e=this.options,t=e.ticks&&e.ticks.z||0,i=K(e.grid&&e.grid.z,-1);return this._isVisible()&&this.draw===pr.prototype.draw?[{z:i,draw:r=>{this.drawBackground(),this.drawGrid(r),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:t,draw:r=>{this.drawLabels(r)}}]:[{z:t,draw:r=>{this.draw(r)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=t.length;s<o;++s){const a=t[s];a[i]===this.id&&(!e||a.type===e)&&r.push(a)}return r}_resolveTickFontOptions(e){return et(this.options.ticks.setContext(this.getContext(e)).font)}_maxDigits(){const e=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/e}}class Hc{constructor(e,t,i){this.type=e,this.scope=t,this.override=i,this.items=Object.create(null)}isForType(e){return Object.prototype.isPrototypeOf.call(this.type.prototype,e.prototype)}register(e){const t=Object.getPrototypeOf(e);let i;var n;"id"in(n=t)&&"defaults"in n&&(i=this.register(t));const r=this.items,s=e.id,o=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+e);return s in r||(r[s]=e,function(n,e,t){const i=Yo(Object.create(null),[t?ae.get(t):{},ae.get(e),n.defaults]);ae.set(e,i),n.defaultRoutes&&function(n,e){Object.keys(e).forEach(t=>{const i=t.split("."),r=i.pop(),s=[n].concat(i).join("."),o=e[t].split("."),a=o.pop(),l=o.join(".");ae.route(s,r,l,a)})}(e,n.defaultRoutes),n.descriptors&&ae.describe(e,n.descriptors)}(e,o,i),this.override&&ae.override(e.id,e.overrides)),o}get(e){return this.items[e]}unregister(e){const t=this.items,i=e.id,r=this.scope;i in t&&delete t[i],r&&i in ae[r]&&(delete ae[r][i],this.override&&delete ar[i])}}var yi=new class{constructor(){this.controllers=new Hc(mi,"datasets",!0),this.elements=new Hc(In,"elements"),this.plugins=new Hc(Object,"plugins"),this.scales=new Hc(pr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,t,i){[...t].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(e,s,r):pe(r,o=>{const a=i||this._getRegistryForType(o);this._exec(e,a,o)})})}_exec(e,t,i){const r=ip(e);xe(i["before"+r],[],i),t[e](i),xe(i["after"+r],[],i)}_getRegistryForType(e){for(let t=0;t<this._typedRegistries.length;t++){const i=this._typedRegistries[t];if(i.isForType(e))return i}return this.plugins}_get(e,t,i){const r=t.get(e);if(void 0===r)throw new Error('"'+e+'" is not a registered '+i+".");return r}};class EH{constructor(){this._init=[]}notify(e,t,i,r){"beforeInit"===t&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,"install"));const s=r?this._descriptors(e).filter(r):this._descriptors(e),o=this._notify(s,e,t,i);return"afterDestroy"===t&&(this._notify(s,e,"stop"),this._notify(this._init,e,"uninstall")),o}_notify(e,t,i,r){r=r||{};for(const s of e){const o=s.plugin;if(!1===xe(o[i],[t,r,s.options],o)&&r.cancelable)return!1}return!0}invalidate(){de(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;const t=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),t}_createDescriptors(e,t){const i=e&&e.config,r=K(i.options&&i.options.plugins,{}),s=function(n){const e=[],t=Object.keys(yi.plugins.items);for(let r=0;r<t.length;r++)e.push(yi.getPlugin(t[r]));const i=n.plugins||[];for(let r=0;r<i.length;r++){const s=i[r];-1===e.indexOf(s)&&e.push(s)}return e}(i);return!1!==r||t?function(n,e,t,i){const r=[],s=n.getContext();for(let o=0;o<e.length;o++){const a=e[o],c=SH(t[a.id],i);null!==c&&r.push({plugin:a,options:IH(n.config,a,c,s)})}return r}(e,s,r,t):[]}_notifyStateChanges(e){const t=this._oldCache||[],i=this._cache,r=(s,o)=>s.filter(a=>!o.some(l=>a.plugin.id===l.plugin.id));this._notify(r(t,i),e,"stop"),this._notify(r(i,t),e,"start")}}function SH(n,e){return e||!1!==n?!0===n?{}:n:null}function IH(n,e,t,i){const r=n.pluginScopeKeys(e),s=n.getOptionScopes(t,r);return n.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ap(n,e){return((e.datasets||{})[n]||{}).indexAxis||e.indexAxis||(ae.datasets[n]||{}).indexAxis||"x"}function Ip(n,e){return"x"===n||"y"===n?n:e.axis||function(n){return"top"===n||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0}(e.position)||n.charAt(0).toLowerCase()}function Mx(n){const e=n.options||(n.options={});e.plugins=K(e.plugins,{}),e.scales=function(n,e){const t=ar[n.type]||{scales:{}},i=e.scales||{},r=Ap(n.type,e),s=Object.create(null),o=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!oe(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const c=Ip(a,l),u=function(n,e){return n===e?"_index_":"_value_"}(c,r),d=t.scales||{};s[c]=s[c]||a,o[a]=Ko(Object.create(null),[{axis:c},l,d[c],d[u]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,c=a.indexAxis||Ap(l,e),d=(ar[l]||{}).scales||{};Object.keys(d).forEach(h=>{const f=function(n,e){let t=n;return"_index_"===n?t=e:"_value_"===n&&(t="x"===e?"y":"x"),t}(h,c),p=a[f+"AxisID"]||s[f]||f;o[p]=o[p]||Object.create(null),Ko(o[p],[{axis:f},i[p],d[h]])})}),Object.keys(o).forEach(a=>{const l=o[a];Ko(l,[ae.scales[l.type],ae.scale])}),o}(n,e)}function Sx(n){return(n=n||{}).datasets=n.datasets||[],n.labels=n.labels||[],n}const Ax=new Map,Ix=new Set;function Uc(n,e){let t=Ax.get(n);return t||(t=e(),Ax.set(n,t),Ix.add(t)),t}const pa=(n,e,t)=>{const i=or(e,t);void 0!==i&&n.add(i)};class FH{constructor(e){var n;this._config=((n=(n=e)||{}).data=Sx(n.data),Mx(n),n),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=Sx(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),Mx(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Uc(e,()=>[[`datasets.${e}`,""]])}datasetAnimationScopeKeys(e,t){return Uc(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]])}datasetElementScopeKeys(e,t){return Uc(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]])}pluginScopeKeys(e){const t=e.id;return Uc(`${this.type}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){const i=this._scopeCache;let r=i.get(e);return(!r||t)&&(r=new Map,i.set(e,r)),r}getOptionScopes(e,t,i){const{options:r,type:s}=this,o=this._cachedScopes(e,i),a=o.get(t);if(a)return a;const l=new Set;t.forEach(u=>{e&&(l.add(e),u.forEach(d=>pa(l,e,d))),u.forEach(d=>pa(l,r,d)),u.forEach(d=>pa(l,ar[s]||{},d)),u.forEach(d=>pa(l,ae,d)),u.forEach(d=>pa(l,hp,d))});const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),Ix.has(t)&&o.set(t,c),c}chartOptionScopes(){const{options:e,type:t}=this;return[e,ar[t]||{},ae.datasets[t]||{},{type:t},ae,hp]}resolveNamedOptions(e,t,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:a}=Tx(this._resolverCache,e,r);let l=o;(function(n,e){const{isScriptable:t,isIndexable:i}=Tw(n);for(const r of e){const s=t(r),o=i(r),a=(o||s)&&n[r];if(s&&(Ni(a)||NH(a))||o&&we(a))return!0}return!1})(o,t)&&(s.$shared=!1,l=Es(o,i=Ni(i)?i():i,this.createResolver(e,i,a)));for(const c of t)s[c]=l[c];return s}createResolver(e,t,i=[""],r){const{resolver:s}=Tx(this._resolverCache,e,i);return oe(t)?Es(s,t,void 0,r):s}}function Tx(n,e,t){let i=n.get(e);i||(i=new Map,n.set(e,i));const r=t.join();let s=i.get(r);return s||(s={resolver:mp(e,t),subPrefixes:t.filter(a=>!a.toLowerCase().includes("hover"))},i.set(r,s)),s}const NH=n=>oe(n)&&Object.getOwnPropertyNames(n).reduce((e,t)=>e||Ni(n[t]),!1),BH=["top","bottom","left","right","chartArea"];function Ox(n,e){return"top"===n||"bottom"===n||-1===BH.indexOf(n)&&"x"===e}function Px(n,e){return function(t,i){return t[n]===i[n]?t[e]-i[e]:t[n]-i[n]}}function kx(n){const e=n.chart,t=e.options.animation;e.notifyPlugins("afterRender"),xe(t&&t.onComplete,[n],e)}function jH(n){const e=n.chart,t=e.options.animation;xe(t&&t.onProgress,[n],e)}function Rx(n){return Lw()&&"string"==typeof n?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const $c={},Fx=n=>{const e=Rx(n);return Object.values($c).filter(t=>t.canvas===e).pop()};function HH(n,e,t){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=e){const o=n[r];delete n[r],(t>0||s>e)&&(n[s+t]=o)}}}class gr{constructor(e,t){const i=this.config=new FH(t),r=Rx(e),s=Fx(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());var n;this.platform=new(i.platform||(n=r,!Lw()||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas?qj:sH)),this.platform.updateConfig(i);const a=this.platform.acquireContext(r,o.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;this.id=S2(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new EH,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(n,e){let t;return function(...i){return e?(clearTimeout(t),t=setTimeout(n,e,i)):n.apply(this,i),e}}(d=>this.update(d),o.resizeDelay||0),this._dataChanges=[],$c[this.id]=this,a&&l?(gi.listen(this,"complete",kx),gi.listen(this,"progress",jH),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:i,height:r,_aspectRatio:s}=this;return de(e)?t&&s?s:r?i/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bw(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ew(this.canvas,this.ctx),this}stop(){return gi.stop(this),this}resize(e,t){gi.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const i=this.options,o=this.platform.getMaximumSize(this.canvas,e,t,i.maintainAspectRatio&&this.aspectRatio),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bw(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),xe(i.onResize,[this,o],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){pe(this.options.scales||{},(i,r)=>{i.id=r})}buildOrUpdateScales(){const e=this.options,t=e.scales,i=this.scales,r=Object.keys(i).reduce((o,a)=>(o[a]=!1,o),{});let s=[];t&&(s=s.concat(Object.keys(t).map(o=>{const a=t[o],l=Ip(o,a),c="r"===l,u="x"===l;return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),pe(s,o=>{const a=o.options,l=a.id,c=Ip(l,a),u=K(a.type,o.dtype);(void 0===a.position||Ox(a.position,c)!==Ox(o.dposition))&&(a.position=o.dposition),r[l]=!0;let d=null;l in i&&i[l].type===u?d=i[l]:(d=new(yi.getScale(u))({id:l,type:u,ctx:this.ctx,chart:this}),i[d.id]=d),d.init(a,e)}),pe(r,(o,a)=>{o||delete i[a]}),pe(i,o=>{mt.configure(this,o,o.options),mt.addBox(this,o)})}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,i=e.length;if(e.sort((r,s)=>r.index-s.index),i>t){for(let r=t;r<i;++r)this._destroyDatasetMeta(r);e.splice(t,i-t)}this._sortedMetasets=e.slice(0).sort(Px("order","index"))}_removeUnreferencedMetasets(){const{_metasets:e,data:{datasets:t}}=this;e.length>t.length&&delete this._stacks,e.forEach((i,r)=>{0===t.filter(s=>s===i._dataset).length&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=t.length;i<r;i++){const s=t[i];let o=this.getDatasetMeta(i);const a=s.type||this.config.type;if(o.type&&o.type!==a&&(this._destroyDatasetMeta(i),o=this.getDatasetMeta(i)),o.type=a,o.indexAxis=s.indexAxis||Ap(a,this.options),o.order=s.order||0,o.index=i,o.label=""+s.label,o.visible=this.isDatasetVisible(i),o.controller)o.controller.updateIndex(i),o.controller.linkScales();else{const l=yi.getController(a),{datasetElementType:c,dataElementType:u}=ae.datasets[a];Object.assign(l.prototype,{dataElementType:yi.getElement(u),datasetElementType:c&&yi.getElement(c)}),o.controller=new l(this,i),e.push(o.controller)}}return this._updateMetasets(),e}_resetElements(){pe(this.data.datasets,(e,t)=>{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const i=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:d}=this.getDatasetMeta(c),h=!r&&-1===s.indexOf(d);d.buildOrUpdateElements(h),o=Math.max(+d.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),r||pe(s,c=>{c.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Px("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){pe(this.scales,e=>{mt.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),i=new Set(e.events);(!aw(t,i)||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of t)HH(e,r,"_removeElements"===i?-s:s)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,i=s=>new Set(e.filter(o=>o[0]===s).map((o,a)=>a+","+o.splice(1).join(","))),r=i(0);for(let s=1;s<t;s++)if(!aw(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;mt.update(this,this.width,this.height,e);const t=this.chartArea,i=t.width<=0||t.height<=0;this._layers=[],pe(this.boxes,r=>{i&&"chartArea"===r.position||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let t=0,i=this.data.datasets.length;t<i;++t)this.getDatasetMeta(t).controller.configure();for(let t=0,i=this.data.datasets.length;t<i;++t)this._updateDataset(t,Ni(e)?e({datasetIndex:t}):e);this.notifyPlugins("afterDatasetsUpdate",{mode:e})}}_updateDataset(e,t){const i=this.getDatasetMeta(e),r={meta:i,index:e,mode:t,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",r)&&(i.controller._update(t),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(gi.has(this)?this.attached&&!gi.running(this)&&gi.start(this):(this.draw(),kx({chart:this})))}draw(){let e;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resize(i,r),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const t=this._layers;for(e=0;e<t.length&&t[e].z<=0;++e)t[e].draw(this.chartArea);for(this._drawDatasets();e<t.length;++e)t[e].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(e){const t=this._sortedMetasets,i=[];let r,s;for(r=0,s=t.length;r<s;++r){const o=t[r];(!e||o.visible)&&i.push(o)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const e=this.getSortedVisibleDatasetMetas();for(let t=e.length-1;t>=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,i=e._clip,r=!i.disabled,s=this.chartArea,o={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&Tc(t,{left:!1===i.left?0:s.left-i.left,right:!1===i.right?this.width:s.right+i.right,top:!1===i.top?0:s.top-i.top,bottom:!1===i.bottom?this.height:s.bottom+i.bottom}),e.controller.draw(),r&&Oc(t),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(e,t,i,r){const s=Bj.modes[t];return"function"==typeof s?s(this,e,i,r):[]}getDatasetMeta(e){const t=this.data.datasets[e],i=this._metasets;let r=i.filter(s=>s&&s._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Li(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const i=this.getDatasetMeta(e);return"boolean"==typeof i.hidden?!i.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,i){const r=i?"show":"hide",s=this.getDatasetMeta(e),o=s.controller._resolveAnimations(void 0,r);un(t)?(s.data[t].hidden=!i,this.update()):(this.setDatasetVisibility(e,i),o.update(s,{visible:i}),this.update(a=>a.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),gi.remove(this),e=0,t=this.data.datasets.length;e<t;++e)this._destroyDatasetMeta(e)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:e,ctx:t}=this;this._stop(),this.config.clearCache(),e&&(this.unbindEvents(),Ew(e,t),this.platform.releaseContext(t),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete $c[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...e){return this.canvas.toDataURL(...e)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const e=this._listeners,t=this.platform,i=(s,o)=>{t.addEventListener(this,s,o),e[s]=o},r=(s,o,a)=>{s.offsetX=o,s.offsetY=a,this._eventHandler(s)};pe(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,i=(l,c)=>{t.addEventListener(this,l,c),e[l]=c},r=(l,c)=>{e[l]&&(t.removeEventListener(this,l,c),delete e[l])},s=(l,c)=>{this.canvas&&this.resize(l,c)};let o;const a=()=>{r("attach",a),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",a)},t.isAttached(this.canvas)?a():o()}unbindEvents(){pe(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},pe(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,i){const r=i?"set":"remove";let s,o,a,l;for("dataset"===t&&(s=this.getDatasetMeta(e[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),a=0,l=e.length;a<l;++a){o=e[a];const c=o&&this.getDatasetMeta(o.datasetIndex).controller;c&&c[r+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(e){const t=this._active||[],i=e.map(({datasetIndex:s,index:o})=>{const a=this.getDatasetMeta(s);if(!a)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:a.data[o],index:o}});!vc(i,t)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,t))}notifyPlugins(e,t,i){return this._plugins.notify(this,e,t,i)}_updateHoverStyles(e,t,i){const r=this.options.hover,s=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),o=s(t,e),a=i?e:s(e,t);o.length&&this.updateHoverStyle(o,r.mode,!1),a.length&&r.mode&&this.updateHoverStyle(a,r.mode,!0)}_eventHandler(e,t){const i={event:e,replay:t,cancelable:!0,inChartArea:cr(e,this.chartArea,this._minPadding)},r=o=>(o.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",i,r))return;const s=this._handleEvent(e,t,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(e,t,i){const{_active:r=[],options:s}=this,a=this._getActiveElements(e,r,i,t),l="mouseup"===(n=e).type||"click"===n.type||"contextmenu"===n.type,c=function(n,e,t,i){return t&&"mouseout"!==n.type?i?e:n:null}(e,this._lastEvent,i,l);var n;i&&(this._lastEvent=null,xe(s.onHover,[e,a,this],this),l&&xe(s.onClick,[e,a,this],this));const u=!vc(a,r);return(u||t)&&(this._active=a,this._updateHoverStyles(a,r,t)),this._lastEvent=c,u}_getActiveElements(e,t,i,r){if("mouseout"===e.type)return[];if(!i)return t;const s=this.options.hover;return this.getElementsAtEventForMode(e,s.mode,s,r)}}const Nx=()=>pe(gr.instances,n=>n._plugins.invalidate()),Vi=!0;function Lx(n,e,t){const{startAngle:i,pixelMargin:r,x:s,y:o,outerRadius:a,innerRadius:l}=e;let c=r/a;n.beginPath(),n.arc(s,o,a,i-c,t+c),l>r?(c=r/l,n.arc(s,o,l,t+c,i-c,!0)):n.arc(s,o,r,t+Fe,i-Fe),n.closePath(),n.clip()}function As(n,e,t,i){return{x:t+n*Math.cos(e),y:i+n*Math.sin(e)}}function Tp(n,e,t,i,r){const{x:s,y:o,startAngle:a,pixelMargin:l,innerRadius:c}=e,u=Math.max(e.outerRadius+i+t-l,0),d=c>0?c+i+t+l:0;let h=0;const f=r-a;if(i){const yr=((c>0?c-i:0)+(u>0?u-i:0))/2;h=(f-(0!==yr?f*yr/(yr+i):f))/2}const g=(f-Math.max(.001,f*u-t/Ae)/u)/2,_=a+g+h,v=r-g-h,{outerStart:b,outerEnd:D,innerStart:C,innerEnd:w}=function(n,e,t,i){const r=function(n){return pp(n,["outerStart","outerEnd","innerStart","innerEnd"])}(n.options.borderRadius),s=(t-e)/2,o=Math.min(s,i*e/2),a=l=>{const c=(t-Math.min(s,l))*i/2;return ot(l,0,Math.min(s,c))};return{outerStart:a(r.outerStart),outerEnd:a(r.outerEnd),innerStart:ot(r.innerStart,0,o),innerEnd:ot(r.innerEnd,0,o)}}(e,d,u,v-_),M=u-b,A=u-D,O=_+b/M,k=v-D/A,ue=d+C,te=d+w,ne=_+C/ue,Ie=v-w/te;if(n.beginPath(),n.arc(s,o,u,O,k),D>0){const he=As(A,k,s,o);n.arc(he.x,he.y,D,k,v+Fe)}const tt=As(te,v,s,o);if(n.lineTo(tt.x,tt.y),w>0){const he=As(te,Ie,s,o);n.arc(he.x,he.y,w,v+Fe,Ie+Math.PI)}if(n.arc(s,o,d,v-w/d,_+C/d,!0),C>0){const he=As(ue,ne,s,o);n.arc(he.x,he.y,C,ne+Math.PI,_-Fe)}const J=As(M,_,s,o);if(n.lineTo(J.x,J.y),b>0){const he=As(M,O,s,o);n.arc(he.x,he.y,b,_-Fe,O)}n.closePath()}Object.defineProperties(gr,{defaults:{enumerable:Vi,value:ae},instances:{enumerable:Vi,value:$c},overrides:{enumerable:Vi,value:ar},registry:{enumerable:Vi,value:yi},version:{enumerable:Vi,value:"3.7.0"},getChart:{enumerable:Vi,value:Fx},register:{enumerable:Vi,value:(...n)=>{yi.add(...n),Nx()}},unregister:{enumerable:Vi,value:(...n)=>{yi.remove(...n),Nx()}}});class zc extends In{constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,i){const r=this.getProps(["x","y"],i),{angle:s,distance:o}=hw(r,{x:e,y:t}),{startAngle:a,endAngle:l,innerRadius:c,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),h=this.options.spacing/2,p=K(d,l-a)>=_e||Qo(s,a,l),g=fi(o,c+h,u+h);return p&&g}getCenterPoint(e){const{x:t,y:i,startAngle:r,endAngle:s,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],e),{offset:l,spacing:c}=this.options,u=(r+s)/2,d=(o+a+c+l)/2;return{x:t+Math.cos(u)*d,y:i+Math.sin(u)*d}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:i}=this,r=(t.offset||0)/2,s=(t.spacing||0)/2;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=i>_e?Math.floor(i/_e):0,0===i||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=0;if(r){o=r/2;const l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o),this.circumference>=Ae&&(o=r)}e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor;const a=function(n,e,t,i){const{fullCircles:r,startAngle:s,circumference:o}=e;let a=e.endAngle;if(r){Tp(n,e,t,i,s+_e);for(let l=0;l<r;++l)n.fill();isNaN(o)||(a=s+o%_e,o%_e==0&&(a+=_e))}return Tp(n,e,t,i,a),n.fill(),a}(e,this,o,s);(function(n,e,t,i,r){const{options:s}=e,{borderWidth:o,borderJoinStyle:a}=s,l="inner"===s.borderAlign;!o||(l?(n.lineWidth=2*o,n.lineJoin=a||"round"):(n.lineWidth=o,n.lineJoin=a||"bevel"),e.fullCircles&&function(n,e,t){const{x:i,y:r,startAngle:s,pixelMargin:o,fullCircles:a}=e,l=Math.max(e.outerRadius-o,0),c=e.innerRadius+o;let u;for(t&&Lx(n,e,s+_e),n.beginPath(),n.arc(i,r,c,s+_e,s,!0),u=0;u<a;++u)n.stroke();for(n.beginPath(),n.arc(i,r,l,s,s+_e),u=0;u<a;++u)n.stroke()}(n,e,l),l&&Lx(n,e,r),Tp(n,e,t,i,r),n.stroke())})(e,this,o,s,a),e.restore()}}function Vx(n,e,t=e){n.lineCap=K(t.borderCapStyle,e.borderCapStyle),n.setLineDash(K(t.borderDash,e.borderDash)),n.lineDashOffset=K(t.borderDashOffset,e.borderDashOffset),n.lineJoin=K(t.borderJoinStyle,e.borderJoinStyle),n.lineWidth=K(t.borderWidth,e.borderWidth),n.strokeStyle=K(t.borderColor,e.borderColor)}function YH(n,e,t){n.lineTo(t.x,t.y)}function Bx(n,e,t={}){const i=n.length,{start:r=0,end:s=i-1}=t,{start:o,end:a}=e,l=Math.max(r,o),c=Math.min(s,a);return{count:i,start:l,loop:e.loop,ilen:c<l&&!(r<o&&s<o||r>a&&s>a)?i+c-l:c-l}}function JH(n,e,t,i){const{points:r,options:s}=e,{count:o,start:a,loop:l,ilen:c}=Bx(r,t,i),u=function(n){return n.stepped?lB:n.tension||"monotone"===n.cubicInterpolationMode?cB:YH}(s);let f,p,g,{move:d=!0,reverse:h}=i||{};for(f=0;f<=c;++f)p=r[(a+(h?c-f:f))%o],!p.skip&&(d?(n.moveTo(p.x,p.y),d=!1):u(n,g,p,h,s.stepped),g=p);return l&&(p=r[(a+(h?c:0))%o],u(n,g,p,h,s.stepped)),!!l}function ZH(n,e,t,i){const r=e.points,{count:s,start:o,ilen:a}=Bx(r,t,i),{move:l=!0,reverse:c}=i||{};let h,f,p,g,_,v,u=0,d=0;const b=C=>(o+(c?a-C:C))%s,D=()=>{g!==_&&(n.lineTo(u,_),n.lineTo(u,g),n.lineTo(u,v))};for(l&&(f=r[b(0)],n.moveTo(f.x,f.y)),h=0;h<=a;++h){if(f=r[b(h)],f.skip)continue;const C=f.x,w=f.y,M=0|C;M===p?(w<g?g=w:w>_&&(_=w),u=(d*u+C)/++d):(D(),n.lineTo(C,w),p=M,d=0,g=_=w),v=w}D()}function Op(n){const e=n.options;return n._decimated||n._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||e.borderDash&&e.borderDash.length?JH:ZH}zc.id="arc",zc.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},zc.defaultRoutes={backgroundColor:"backgroundColor"};const tU="function"==typeof Path2D;let Wc=(()=>{class n extends In{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,i){const r=this.options;!r.tension&&"monotone"!==r.cubicInterpolationMode||r.stepped||this._pointsUpdated||(FB(this._points,r,t,r.spanGaps?this._loop:this._fullLoop,i),this._pointsUpdated=!0)}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(n,e){const t=n.points,i=n.options.spanGaps,r=t.length;if(!r)return[];const s=!!n._loop,{start:o,end:a}=function(n,e,t,i){let r=0,s=e-1;if(t&&!i)for(;r<e&&!n[r].skip;)r++;for(;r<e&&n[r].skip;)r++;for(r%=e,t&&(s+=r);s>r&&n[s%e].skip;)s--;return s%=e,{start:r,end:s}}(t,r,s,i);return function(n,e,t,i){return i&&i.setContext&&t?function(n,e,t,i){const r=n._chart.getContext(),s=Kw(n.options),{_datasetIndex:o,options:{spanGaps:a}}=n,l=t.length,c=[];let u=s,d=e[0].start,h=d;function f(p,g,_,v){const b=a?-1:1;if(p!==g){for(p+=l;t[p%l].skip;)p-=b;for(;t[g%l].skip;)g+=b;p%l!=g%l&&(c.push({start:p%l,end:g%l,loop:_,style:v}),u=v,d=g%l)}}for(const p of e){d=a?d:p.start;let _,g=t[d%l];for(h=d+1;h<=p.end;h++){const v=t[h%l];_=Kw(i.setContext(Li(r,{type:"segment",p0:g,p1:v,p0DataIndex:(h-1)%l,p1DataIndex:h%l,datasetIndex:o}))),QB(_,u)&&f(d,h-1,p.loop,u),g=v,u=_}d<h-1&&f(d,h-1,p.loop,u)}return c}(n,e,t,i):e}(n,!0===i?[{start:o,end:a,loop:s}]:function(n,e,t,i){const r=n.length,s=[];let l,o=e,a=n[e];for(l=e+1;l<=t;++l){const c=n[l%r];c.skip||c.stop?a.skip||(s.push({start:e%r,end:(l-1)%r,loop:i=!1}),e=o=c.stop?l:null):(o=l,a.skip&&(e=l)),a=c}return null!==o&&s.push({start:e%r,end:o%r,loop:i}),s}(t,o,a<o?a+r:a,!!n._fullLoop&&0===o&&a===r-1),t,e)}(this,this.options.segment))}first(){const t=this.segments;return t.length&&this.points[t[0].start]}last(){const t=this.segments,r=t.length;return r&&this.points[t[r-1].end]}interpolate(t,i){const r=this.options,s=t[i],o=this.points,a=qw(this,{property:i,start:s,end:s});if(!a.length)return;const l=[],c=function(n){return n.stepped?$B:n.tension||"monotone"===n.cubicInterpolationMode?zB:hr}(r);let u,d;for(u=0,d=a.length;u<d;++u){const{start:h,end:f}=a[u],p=o[h],g=o[f];if(p===g){l.push(p);continue}const v=c(p,g,Math.abs((s-p[i])/(g[i]-p[i])),r.stepped);v[i]=t[i],l.push(v)}return 1===l.length?l[0]:l}pathSegment(t,i,r){return Op(this)(t,this,i,r)}path(t,i,r){const s=this.segments,o=Op(this);let a=this._loop;i=i||0,r=r||this.points.length-i;for(const l of s)a&=o(t,this,l,{start:i,end:i+r-1});return!!a}draw(t,i,r,s){(this.points||[]).length&&(this.options||{}).borderWidth&&(t.save(),function(n,e,t,i){tU&&!e.options.segment?function(n,e,t,i){let r=e._path;r||(r=e._path=new Path2D,e.path(r,t,i)&&r.closePath()),Vx(n,e.options),n.stroke(r)}(n,e,t,i):function(n,e,t,i){const{segments:r,options:s}=e,o=Op(e);for(const a of r)Vx(n,s,a.style),n.beginPath(),o(n,e,a,{start:t,end:t+i-1})&&n.closePath(),n.stroke()}(n,e,t,i)}(t,this,r,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}return n.id="line",n.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n.descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e},n})();function jx(n,e,t,i){const r=n.options,{[t]:s}=n.getProps([t],i);return Math.abs(e-s)<r.radius+r.hitRadius}let iU=(()=>{class n extends In{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,i,r){const s=this.options,{x:o,y:a}=this.getProps(["x","y"],r);return Math.pow(t-o,2)+Math.pow(i-a,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,i){return jx(this,t,"x",i)}inYRange(t,i){return jx(this,t,"y",i)}getCenterPoint(t){const{x:i,y:r}=this.getProps(["x","y"],t);return{x:i,y:r}}size(t){let i=(t=t||this.options||{}).radius||0;return i=Math.max(i,i&&t.hoverRadius||0),2*(i+(i&&t.borderWidth||0))}draw(t,i){const r=this.options;this.skip||r.radius<.1||!cr(this,i,this.size(r)/2)||(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.fillStyle=r.backgroundColor,Ic(t,r,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}return n.id="point",n.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n})();function Hx(n,e){const{x:t,y:i,base:r,width:s,height:o}=n.getProps(["x","y","base","width","height"],e);let a,l,c,u,d;return n.horizontal?(d=o/2,a=Math.min(t,r),l=Math.max(t,r),c=i-d,u=i+d):(d=s/2,a=t-d,l=t+d,c=Math.min(i,r),u=Math.max(i,r)),{left:a,top:c,right:l,bottom:u}}function Bi(n,e,t,i){return n?0:ot(e,t,i)}function Pp(n,e,t,i){const r=null===e,s=null===t,a=n&&!(r&&s)&&Hx(n,i);return a&&(r||fi(e,a.left,a.right))&&(s||fi(t,a.top,a.bottom))}function lU(n,e){n.rect(e.x,e.y,e.w,e.h)}function kp(n,e,t={}){const i=n.x!==t.x?-e:0,r=n.y!==t.y?-e:0;return{x:n.x+i,y:n.y+r,w:n.w+((n.x+n.w!==t.x+t.w?e:0)-i),h:n.h+((n.y+n.h!==t.y+t.h?e:0)-r),radius:n.radius}}class Gc extends In{constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=function(n){const e=Hx(n),t=e.right-e.left,i=e.bottom-e.top,r=function(n,e,t){const r=n.borderSkipped,s=Mw(n.options.borderWidth);return{t:Bi(r.top,s.top,0,t),r:Bi(r.right,s.right,0,e),b:Bi(r.bottom,s.bottom,0,t),l:Bi(r.left,s.left,0,e)}}(n,t/2,i/2),s=function(n,e,t){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=xs(r),o=Math.min(e,t),a=n.borderSkipped,l=i||oe(r);return{topLeft:Bi(!l||a.top||a.left,s.topLeft,0,o),topRight:Bi(!l||a.top||a.right,s.topRight,0,o),bottomLeft:Bi(!l||a.bottom||a.left,s.bottomLeft,0,o),bottomRight:Bi(!l||a.bottom||a.right,s.bottomRight,0,o)}}(n,t/2,i/2);return{outer:{x:e.left,y:e.top,w:t,h:i,radius:s},inner:{x:e.left+r.l,y:e.top+r.t,w:t-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}(this),a=(n=o.radius).topLeft||n.topRight||n.bottomLeft||n.bottomRight?Pc:lU;var n;e.save(),(o.w!==s.w||o.h!==s.h)&&(e.beginPath(),a(e,kp(o,t,s)),e.clip(),a(e,kp(s,-t,o)),e.fillStyle=i,e.fill("evenodd")),e.beginPath(),a(e,kp(s,t)),e.fillStyle=r,e.fill(),e.restore()}inRange(e,t,i){return Pp(this,e,t,i)}inXRange(e,t){return Pp(this,e,null,t)}inYRange(e,t){return Pp(this,null,e,t)}getCenterPoint(e){const{x:t,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],e);return{x:s?(t+r)/2:t,y:s?i:(i+r)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}}Gc.id="bar",Gc.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},Gc.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var cU=Object.freeze({__proto__:null,ArcElement:zc,LineElement:Wc,PointElement:iU,BarElement:Gc});function Ux(n){if(n._decimated){const e=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{value:e})}}function $x(n){n.data.datasets.forEach(e=>{Ux(e)})}var fU={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,e,t)=>{if(!t.enabled)return void $x(n);const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:o,indexAxis:a}=r,l=n.getDatasetMeta(s),c=o||r.data;if("y"===sa([a,n.options.indexAxis])||"line"!==l.type)return;const u=n.scales[l.xAxisID];if("linear"!==u.type&&"time"!==u.type||n.options.parsing)return;let p,{start:d,count:h}=function(n,e){const t=e.length;let r,i=0;const{iScale:s}=n,{min:o,max:a,minDefined:l,maxDefined:c}=s.getUserBounds();return l&&(i=ot(pi(e,s.axis,o).lo,0,t-1)),r=c?ot(pi(e,s.axis,a).hi+1,i,t)-i:t-i,{start:i,count:r}}(l,c);if(h<=(t.threshold||4*i))Ux(r);else{switch(de(o)&&(r._data=c,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}})),t.algorithm){case"lttb":p=function(n,e,t,i,r){const s=r.samples||i;if(s>=t)return n.slice(e,e+t);const o=[],a=(t-2)/(s-2);let l=0;const c=e+t-1;let d,h,f,p,g,u=e;for(o[l++]=n[u],d=0;d<s-2;d++){let b,_=0,v=0;const D=Math.floor((d+1)*a)+1+e,C=Math.min(Math.floor((d+2)*a)+1,t)+e,w=C-D;for(b=D;b<C;b++)_+=n[b].x,v+=n[b].y;_/=w,v/=w;const M=Math.floor(d*a)+1+e,A=Math.min(Math.floor((d+1)*a)+1,t)+e,{x:O,y:k}=n[u];for(f=p=-1,b=M;b<A;b++)p=.5*Math.abs((O-_)*(n[b].y-k)-(O-n[b].x)*(v-k)),p>f&&(f=p,h=n[b],g=b);o[l++]=h,u=g}return o[l++]=n[c],o}(c,d,h,i,t);break;case"min-max":p=function(n,e,t,i){let o,a,l,c,u,d,h,f,p,g,r=0,s=0;const _=[],b=n[e].x,C=n[e+t-1].x-b;for(o=e;o<e+t;++o){a=n[o],l=(a.x-b)/C*i,c=a.y;const w=0|l;if(w===u)c<p?(p=c,d=o):c>g&&(g=c,h=o),r=(s*r+a.x)/++s;else{const M=o-1;if(!de(d)&&!de(h)){const A=Math.min(d,h),O=Math.max(d,h);A!==f&&A!==M&&_.push(qp(Gp({},n[A]),{x:r})),O!==f&&O!==M&&_.push(qp(Gp({},n[O]),{x:r}))}o>0&&M!==f&&_.push(n[M]),_.push(a),u=w,s=0,p=g=c,d=h=f=o}}return _}(c,d,h,i);break;default:throw new Error(`Unsupported decimation algorithm '${t.algorithm}'`)}r._decimated=p}})},destroy(n){$x(n)}};function mU(n,e,t){const i=function(n){const e=n.options,t=e.fill;let i=K(t&&t.target,t);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}(n);if(oe(i))return!isNaN(i.value)&&i;let r=parseFloat(i);return Be(r)&&Math.floor(r)===r?(("-"===i[0]||"+"===i[0])&&(r=e+r),!(r===e||r<0||r>=t)&&r):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}class zx{constructor(e){this.x=e.x,this.y=e.y,this.radius=e.radius}pathSegment(e,t,i){const{x:r,y:s,radius:o}=this;return e.arc(r,s,o,(t=t||{start:0,end:_e}).end,t.start,!0),!i.bounds}interpolate(e){const{x:t,y:i,radius:r}=this,s=e.angle;return{x:t+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function Wx(n,e,t){for(;e>n;e--){const i=t[e];if(!isNaN(i.x)&&!isNaN(i.y))break}return e}function wU(n,e,t){const i=[];for(let r=0;r<t.length;r++){const s=t[r],{first:o,last:a,point:l}=xU(s,e,"x");if(!(!l||o&&a))if(o)i.unshift(l);else if(n.push(l),!a)break}n.push(...i)}function xU(n,e,t){const i=n.interpolate(e,t);if(!i)return{};const r=i[t],s=n.segments,o=n.points;let a=!1,l=!1;for(let c=0;c<s.length;c++){const u=s[c],d=o[u.start][t],h=o[u.end][t];if(fi(r,d,h)){a=r===d,l=r===h;break}}return{first:a,last:l,point:i}}function EU(n){const{chart:e,fill:t,line:i}=n;if(Be(t))return function(n,e){const t=n.getDatasetMeta(e);return t&&n.isDatasetVisible(e)?t.dataset:null}(e,t);if("stack"===t)return function(n){const{scale:e,index:t,line:i}=n,r=[],s=i.segments,o=i.points,a=function(n,e){const t=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===e)break;s.hidden||t.unshift(s.dataset)}return t}(e,t);a.push(Gx({x:null,y:e.bottom},i));for(let l=0;l<s.length;l++){const c=s[l];for(let u=c.start;u<=c.end;u++)wU(r,o[u],a)}return new Wc({points:r,options:{}})}(n);if("shape"===t)return!0;const r=function(n){return(n.scale||{}).getPointPositionForValue?function(n){const{scale:e,fill:t}=n,i=e.options,r=e.getLabels().length,s=[],o=i.reverse?e.max:e.min;let l,c,u;if(u="start"===t?o:"end"===t?i.reverse?e.min:e.max:oe(t)?t.value:e.getBaseValue(),i.grid.circular)return c=e.getPointPositionForValue(0,o),new zx({x:c.x,y:c.y,radius:e.getDistanceFromCenterForValue(u)});for(l=0;l<r;++l)s.push(e.getPointPositionForValue(l,u));return s}(n):function(n){const{scale:e={},fill:t}=n;let r,i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:oe(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),Be(i)?(r=e.isHorizontal(),{x:r?i:null,y:r?null:i}):null}(n)}(n);return r instanceof zx?r:Gx(r,i)}function Gx(n,e){let t=[],i=!1;return we(n)?(i=!0,t=n):t=function(n,e){const{x:t=null,y:i=null}=n||{},r=e.points,s=[];return e.segments.forEach(({start:o,end:a})=>{a=Wx(o,a,r);const l=r[o],c=r[a];null!==i?(s.push({x:l.x,y:i}),s.push({x:c.x,y:i})):null!==t&&(s.push({x:t,y:l.y}),s.push({x:t,y:c.y}))}),s}(n,e),t.length?new Wc({points:t,options:{tension:0},_loop:i,_fullLoop:i}):null}function MU(n,e,t){let r=n[e].fill;const s=[e];let o;if(!t)return r;for(;!1!==r&&-1===s.indexOf(r);){if(!Be(r))return r;if(o=n[r],!o)return!1;if(o.visible)return r;s.push(r),r=o.fill}return!1}function qx(n,e,t){n.beginPath(),e.path(n),n.lineTo(e.last().x,t),n.lineTo(e.first().x,t),n.closePath(),n.clip()}function Rp(n,e,t,i){if(i)return;let r=e[n],s=t[n];return"angle"===n&&(r=Kt(r),s=Kt(s)),{property:n,start:r,end:s}}function Yx(n,e,t,i){return n&&e?i(n[t],e[t]):n?n[t]:e?e[t]:0}function AU(n,e,t){const{top:i,bottom:r}=e.chart.chartArea,{property:s,start:o,end:a}=t||{};"x"===s&&(n.beginPath(),n.rect(o,i,a-o,r-i),n.clip())}function Kx(n,e,t,i){const r=e.interpolate(t,i);r&&n.lineTo(r.x,r.y)}function Jx(n,e){const{line:t,target:i,property:r,color:s,scale:o}=e,a=function(n,e,t){const i=n.segments,r=n.points,s=e.points,o=[];for(const a of i){let{start:l,end:c}=a;c=Wx(l,c,r);const u=Rp(t,r[l],r[c],a.loop);if(!e.segments){o.push({source:a,target:u,start:r[l],end:r[c]});continue}const d=qw(e,u);for(const h of d){const f=Rp(t,s[h.start],s[h.end],h.loop),p=Gw(a,r,f);for(const g of p)o.push({source:g,target:h,start:{[t]:Yx(u,f,"start",Math.max)},end:{[t]:Yx(u,f,"end",Math.min)}})}}return o}(t,i,r);for(const{source:l,target:c,start:u,end:d}of a){const{style:{backgroundColor:h=s}={}}=l,f=!0!==i;n.save(),n.fillStyle=h,AU(n,o,f&&Rp(r,u,d)),n.beginPath();const p=!!t.pathSegment(n,l);let g;if(f){p?n.closePath():Kx(n,i,d,r);const _=!!i.pathSegment(n,c,{move:p,reverse:!0});g=p&&_,g||Kx(n,i,u,r)}n.closePath(),n.fill(g?"evenodd":"nonzero"),n.restore()}}function Fp(n,e,t){const i=EU(e),{line:r,scale:s,axis:o}=e,a=r.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:d=c}=l||{};i&&r.points.length&&(Tc(n,t),function(n,e){const{line:t,target:i,above:r,below:s,area:o,scale:a}=e,l=t._loop?"angle":e.axis;n.save(),"x"===l&&s!==r&&(qx(n,i,o.top),Jx(n,{line:t,target:i,color:r,scale:a,property:l}),n.restore(),n.save(),qx(n,i,o.bottom)),Jx(n,{line:t,target:i,color:s,scale:a,property:l}),n.restore()}(n,{line:r,target:i,above:u,below:d,area:t,scale:s,axis:o}),Oc(n))}var TU={id:"filler",afterDatasetsUpdate(n,e,t){const i=(n.data.datasets||[]).length,r=[];let s,o,a,l;for(o=0;o<i;++o)s=n.getDatasetMeta(o),a=s.dataset,l=null,a&&a.options&&a instanceof Wc&&(l={visible:n.isDatasetVisible(o),index:o,fill:mU(a,o,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:a}),s.$filler=l,r.push(l);for(o=0;o<i;++o)l=r[o],l&&!1!==l.fill&&(l.fill=MU(r,o,t.propagate))},beforeDraw(n,e,t){const i="beforeDraw"===t.drawTime,r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let o=r.length-1;o>=0;--o){const a=r[o].$filler;!a||(a.line.updateControlPoints(s,a.axis),i&&Fp(n.ctx,a,s))}},beforeDatasetsDraw(n,e,t){if("beforeDatasetsDraw"!==t.drawTime)return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;s&&Fp(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,e,t){const i=e.meta.$filler;!i||!1===i.fill||"beforeDatasetDraw"!==t.drawTime||Fp(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Zx=(n,e)=>{let{boxHeight:t=e,boxWidth:i=e}=n;return n.usePointStyle&&(t=Math.min(t,e),i=Math.min(i,e)),{boxWidth:i,boxHeight:t,itemHeight:Math.max(e,t)}};class Xx extends In{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,i){this.maxWidth=e,this.maxHeight=t,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=xe(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(i=>e.filter(i,this.chart.data))),e.sort&&(t=t.sort((i,r)=>e.sort(i,r,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const i=e.labels,r=et(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Zx(i,s);let c,u;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(o,s,a,l)+10):(u=this.maxHeight,c=this._fitCols(o,s,a,l)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(u,e.maxHeight||this.maxHeight)}_fitRows(e,t,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=r+a;let d=e;s.textAlign="left",s.textBaseline="middle";let h=-1,f=-u;return this.legendItems.forEach((p,g)=>{const _=i+t/2+s.measureText(p.text).width;(0===g||c[c.length-1]+_+2*a>o)&&(d+=u,c[c.length-(g>0?0:1)]=0,f+=u,h++),l[g]={left:0,top:f,row:h,width:_,height:r},c[c.length-1]+=_+a}),d}_fitCols(e,t,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=o-e;let d=a,h=0,f=0,p=0,g=0;return this.legendItems.forEach((_,v)=>{const b=i+t/2+s.measureText(_.text).width;v>0&&f+r+2*a>u&&(d+=h+a,c.push({width:h,height:f}),p+=h+a,g++,h=f=0),l[v]={left:p,top:f,col:g,width:b,height:r},h=Math.max(h,b),f+=r+a}),d+=h,c.push({width:h,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:i,labels:{padding:r},rtl:s}}=this,o=Ss(s,this.left,this.width);if(this.isHorizontal()){let a=0,l=pt(i,this.left+r,this.right-this.lineWidths[a]);for(const c of t)a!==c.row&&(a=c.row,l=pt(i,this.left+r,this.right-this.lineWidths[a])),c.top+=this.top+e+r,c.left=o.leftForLtr(o.x(l),c.width),l+=c.width+r}else{let a=0,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height);for(const c of t)c.col!==a&&(a=c.col,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+r,c.left=o.leftForLtr(o.x(c.left),c.width),l+=c.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Tc(e,this),this._draw(),Oc(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:i,ctx:r}=this,{align:s,labels:o}=e,a=ae.color,l=Ss(e.rtl,this.left,this.width),c=et(o.font),{color:u,padding:d}=o,h=c.size,f=h/2;let p;this.drawTitle(),r.textAlign=l.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=c.string;const{boxWidth:g,boxHeight:_,itemHeight:v}=Zx(o,h),C=this.isHorizontal(),w=this._computeTitleHeight();p=C?{x:pt(s,this.left+d,this.right-i[0]),y:this.top+d+w,line:0}:{x:this.left+d,y:pt(s,this.top+w+d,this.bottom-t[0].height),line:0},Uw(this.ctx,e.textDirection);const M=v+d;this.legendItems.forEach((A,O)=>{r.strokeStyle=A.fontColor||u,r.fillStyle=A.fontColor||u;const k=r.measureText(A.text).width,ue=l.textAlign(A.textAlign||(A.textAlign=o.textAlign)),te=g+f+k;let ne=p.x,Ie=p.y;l.setWidth(this.width),C?O>0&&ne+te+d>this.right&&(Ie=p.y+=M,p.line++,ne=p.x=pt(s,this.left+d,this.right-i[p.line])):O>0&&Ie+M>this.bottom&&(ne=p.x=ne+t[p.line].width+d,p.line++,Ie=p.y=pt(s,this.top+w+d,this.bottom-t[p.line].height)),function(A,O,k){if(isNaN(g)||g<=0||isNaN(_)||_<0)return;r.save();const ue=K(k.lineWidth,1);if(r.fillStyle=K(k.fillStyle,a),r.lineCap=K(k.lineCap,"butt"),r.lineDashOffset=K(k.lineDashOffset,0),r.lineJoin=K(k.lineJoin,"miter"),r.lineWidth=ue,r.strokeStyle=K(k.strokeStyle,a),r.setLineDash(K(k.lineDash,[])),o.usePointStyle){const te={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:ue},ne=l.xPlus(A,g/2);Ic(r,te,ne,O+f)}else{const te=O+Math.max((h-_)/2,0),ne=l.leftForLtr(A,g),Ie=xs(k.borderRadius);r.beginPath(),Object.values(Ie).some(tt=>0!==tt)?Pc(r,{x:ne,y:te,w:g,h:_,radius:Ie}):r.rect(ne,te,g,_),r.fill(),0!==ue&&r.stroke()}r.restore()}(l.x(ne),Ie,A),ne=((n,e,t,i)=>n===(i?"left":"right")?t:"center"===n?(e+t)/2:e)(ue,ne+g+f,C?ne+te:this.right,e.rtl),function(A,O,k){ur(r,k.text,A,O+v/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})}(l.x(ne),Ie,A),C?p.x+=te+d:p.y+=M}),$w(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,i=et(t.font),r=gt(t.padding);if(!t.display)return;const s=Ss(e.rtl,this.left,this.width),o=this.ctx,a=t.position,c=r.top+i.size/2;let u,d=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),u=this.top+c,d=pt(e.align,d,this.right-h);else{const p=this.columnSizes.reduce((g,_)=>Math.max(g,_.height),0);u=c+pt(e.align,this.top,this.bottom-p-e.labels.padding-this._computeTitleHeight())}const f=pt(a,d,d+h);o.textAlign=s.textAlign(np(a)),o.textBaseline="middle",o.strokeStyle=t.color,o.fillStyle=t.color,o.font=i.string,ur(o,t.text,f,u,i)}_computeTitleHeight(){const e=this.options.title,t=et(e.font),i=gt(e.padding);return e.display?t.lineHeight+i.height:0}_getLegendItemAt(e,t){let i,r,s;if(fi(e,this.left,this.right)&&fi(t,this.top,this.bottom))for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],fi(e,r.left,r.left+r.width)&&fi(t,r.top,r.top+r.height))return this.legendItems[i];return null}handleEvent(e){const t=this.options;if(!function(n,e){return!!("mousemove"===n&&(e.onHover||e.onLeave)||e.onClick&&("click"===n||"mouseup"===n))}(e.type,t))return;const i=this._getLegendItemAt(e.x,e.y);if("mousemove"===e.type){const r=this._hoveredItem,s=((n,e)=>null!==n&&null!==e&&n.datasetIndex===e.datasetIndex&&n.index===e.index)(r,i);r&&!s&&xe(t.onLeave,[e,r,this],this),this._hoveredItem=i,i&&!s&&xe(t.onHover,[e,i,this],this)}else i&&xe(t.onClick,[e,i,this],this)}}var kU={id:"legend",_element:Xx,start(n,e,t){const i=n.legend=new Xx({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i)},stop(n){mt.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,e,t){const i=n.legend;mt.configure(n,i,t),i.options=t},afterUpdate(n){const e=n.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(n,e){e.replay||n.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,e,t){const i=e.datasetIndex,r=t.chart;r.isDatasetVisible(i)?(r.hide(i),e.hidden=!0):(r.show(i),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const e=n.data.datasets,{labels:{usePointStyle:t,pointStyle:i,textAlign:r,color:s}}=n.legend.options;return n._getSortedDatasetMetas().map(o=>{const a=o.controller.getStyle(t?0:void 0),l=gt(a.borderWidth);return{text:e[o.index].label,fillStyle:a.backgroundColor,fontColor:s,hidden:!o.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:r||a.textAlign,borderRadius:0,datasetIndex:o.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Np extends In{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const r=we(i.text)?i.text.length:1;this._padding=gt(i.padding);const s=r*et(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:i,bottom:r,right:s,options:o}=this,a=o.align;let c,u,d,l=0;return this.isHorizontal()?(u=pt(a,i,s),d=t+e,c=s-i):("left"===o.position?(u=i+e,d=pt(a,r,t),l=-.5*Ae):(u=s-e,d=pt(a,t,r),l=.5*Ae),c=r-t),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const i=et(t.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(s);ur(e,t.text,0,0,i,{color:t.color,maxWidth:l,rotation:c,textAlign:np(t.align),textBaseline:"middle",translation:[o,a]})}}var FU={id:"title",_element:Np,start(n,e,t){!function(n,e){const t=new Np({ctx:n.ctx,options:e,chart:n});mt.configure(n,t,e),mt.addBox(n,t),n.titleBlock=t}(n,t)},stop(n){mt.removeBox(n,n.titleBlock),delete n.titleBlock},beforeUpdate(n,e,t){const i=n.titleBlock;mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const qc=new WeakMap;var NU={id:"subtitle",start(n,e,t){const i=new Np({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i),qc.set(n,i)},stop(n){mt.removeBox(n,qc.get(n)),qc.delete(n)},beforeUpdate(n,e,t){const i=qc.get(n);mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ga={average(n){if(!n.length)return!1;let e,t,i=0,r=0,s=0;for(e=0,t=n.length;e<t;++e){const o=n[e].element;if(o&&o.hasValue()){const a=o.tooltipPosition();i+=a.x,r+=a.y,++s}}return{x:i/s,y:r/s}},nearest(n,e){if(!n.length)return!1;let s,o,a,t=e.x,i=e.y,r=Number.POSITIVE_INFINITY;for(s=0,o=n.length;s<o;++s){const l=n[s].element;if(l&&l.hasValue()){const u=sp(e,l.getCenterPoint());u<r&&(r=u,a=l)}}if(a){const l=a.tooltipPosition();t=l.x,i=l.y}return{x:t,y:i}}};function Kn(n,e){return e&&(we(e)?Array.prototype.push.apply(n,e):n.push(e)),n}function _i(n){return("string"==typeof n||n instanceof String)&&n.indexOf("\n")>-1?n.split("\n"):n}function LU(n,e){const{element:t,datasetIndex:i,index:r}=e,s=n.getDatasetMeta(i).controller,{label:o,value:a}=s.getLabelAndValue(r);return{chart:n,label:o,parsed:s.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:a,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:t}}function Qx(n,e){const t=n.chart.ctx,{body:i,footer:r,title:s}=n,{boxWidth:o,boxHeight:a}=e,l=et(e.bodyFont),c=et(e.titleFont),u=et(e.footerFont),d=s.length,h=r.length,f=i.length,p=gt(e.padding);let g=p.height,_=0,v=i.reduce((C,w)=>C+w.before.length+w.lines.length+w.after.length,0);v+=n.beforeBody.length+n.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),v&&(g+=f*(e.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(v-f)*l.lineHeight+(v-1)*e.bodySpacing),h&&(g+=e.footerMarginTop+h*u.lineHeight+(h-1)*e.footerSpacing);let b=0;const D=function(C){_=Math.max(_,t.measureText(C).width+b)};return t.save(),t.font=c.string,pe(n.title,D),t.font=l.string,pe(n.beforeBody.concat(n.afterBody),D),b=e.displayColors?o+2+e.boxPadding:0,pe(i,C=>{pe(C.before,D),pe(C.lines,D),pe(C.after,D)}),b=0,t.font=u.string,pe(n.footer,D),t.restore(),_+=p.width,{width:_,height:g}}function jU(n,e,t,i){const{x:r,width:s}=t,{width:o,chartArea:{left:a,right:l}}=n;let c="center";return"center"===i?c=r<=(a+l)/2?"left":"right":r<=s/2?c="left":r>=o-s/2&&(c="right"),function(n,e,t,i){const{x:r,width:s}=i,o=t.caretSize+t.caretPadding;if("left"===n&&r+s+o>e.width||"right"===n&&r-s-o<0)return!0}(c,n,e,t)&&(c="center"),c}function eE(n,e,t){const i=t.yAlign||e.yAlign||function(n,e){const{y:t,height:i}=e;return t<i/2?"top":t>n.height-i/2?"bottom":"center"}(n,t);return{xAlign:t.xAlign||e.xAlign||jU(n,e,t,i),yAlign:i}}function tE(n,e,t,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=n,{xAlign:a,yAlign:l}=t,c=r+s,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:f}=xs(o);let p=function(n,e){let{x:t,width:i}=n;return"right"===e?t-=i:"center"===e&&(t-=i/2),t}(e,a);const g=function(n,e,t){let{y:i,height:r}=n;return"top"===e?i+=t:i-="bottom"===e?r+t:r/2,i}(e,l,c);return"center"===l?"left"===a?p+=c:"right"===a&&(p-=c):"left"===a?p-=Math.max(u,h)+r:"right"===a&&(p+=Math.max(d,f)+r),{x:ot(p,0,i.width-e.width),y:ot(g,0,i.height-e.height)}}function Yc(n,e,t){const i=gt(t.padding);return"center"===e?n.x+n.width/2:"right"===e?n.x+n.width-i.right:n.x+i.left}function nE(n){return Kn([],_i(n))}function iE(n,e){const t=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return t?n.override(t):n}let rE=(()=>{class n extends In{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const i=this.chart,r=this.options.setContext(this.getContext()),s=r.enabled&&i.options.animation&&r.animations,o=new Zw(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=function(n,e,t){return Li(n,{tooltip:e,tooltipItems:t,type:"tooltip"})}(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,i){const{callbacks:r}=i,s=r.beforeTitle.apply(this,[t]),o=r.title.apply(this,[t]),a=r.afterTitle.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}getBeforeBody(t,i){return nE(i.callbacks.beforeBody.apply(this,[t]))}getBody(t,i){const{callbacks:r}=i,s=[];return pe(t,o=>{const a={before:[],lines:[],after:[]},l=iE(r,o);Kn(a.before,_i(l.beforeLabel.call(this,o))),Kn(a.lines,l.label.call(this,o)),Kn(a.after,_i(l.afterLabel.call(this,o))),s.push(a)}),s}getAfterBody(t,i){return nE(i.callbacks.afterBody.apply(this,[t]))}getFooter(t,i){const{callbacks:r}=i,s=r.beforeFooter.apply(this,[t]),o=r.footer.apply(this,[t]),a=r.afterFooter.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}_createItems(t){const i=this._active,r=this.chart.data,s=[],o=[],a=[];let c,u,l=[];for(c=0,u=i.length;c<u;++c)l.push(LU(this.chart,i[c]));return t.filter&&(l=l.filter((d,h,f)=>t.filter(d,h,f,r))),t.itemSort&&(l=l.sort((d,h)=>t.itemSort(d,h,r))),pe(l,d=>{const h=iE(t.callbacks,d);s.push(h.labelColor.call(this,d)),o.push(h.labelPointStyle.call(this,d)),a.push(h.labelTextColor.call(this,d))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=l,l}update(t,i){const r=this.options.setContext(this.getContext()),s=this._active;let o,a=[];if(s.length){const l=ga[r.position].call(this,s,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const c=this._size=Qx(this,r),u=Object.assign({},l,c),d=eE(this.chart,r,u),h=tE(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:h.x,y:h.y,width:c.width,height:c.height,caretX:l.x,caretY:l.y}}else 0!==this.opacity&&(o={opacity:0});this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(t,i,r,s){const o=this.getCaretPosition(t,r,s);i.lineTo(o.x1,o.y1),i.lineTo(o.x2,o.y2),i.lineTo(o.x3,o.y3)}getCaretPosition(t,i,r){const{xAlign:s,yAlign:o}=this,{caretSize:a,cornerRadius:l}=r,{topLeft:c,topRight:u,bottomLeft:d,bottomRight:h}=xs(l),{x:f,y:p}=t,{width:g,height:_}=i;let v,b,D,C,w,M;return"center"===o?(w=p+_/2,"left"===s?(v=f,b=v-a,C=w+a,M=w-a):(v=f+g,b=v+a,C=w-a,M=w+a),D=v):(b="left"===s?f+Math.max(c,d)+a:"right"===s?f+g-Math.max(u,h)-a:this.caretX,"top"===o?(C=p,w=C-a,v=b-a,D=b+a):(C=p+_,w=C+a,v=b+a,D=b-a),M=C),{x1:v,x2:b,x3:D,y1:C,y2:w,y3:M}}drawTitle(t,i,r){const s=this.title,o=s.length;let a,l,c;if(o){const u=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.titleAlign,r),i.textAlign=u.textAlign(r.titleAlign),i.textBaseline="middle",a=et(r.titleFont),l=r.titleSpacing,i.fillStyle=r.titleColor,i.font=a.string,c=0;c<o;++c)i.fillText(s[c],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,c+1===o&&(t.y+=r.titleMarginBottom-l)}}_drawColorBox(t,i,r,s,o){const a=this.labelColors[r],l=this.labelPointStyles[r],{boxHeight:c,boxWidth:u,boxPadding:d}=o,h=et(o.bodyFont),f=Yc(this,"left",o),p=s.x(f),_=i.y+(c<h.lineHeight?(h.lineHeight-c)/2:0);if(o.usePointStyle){const v={radius:Math.min(u,c)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},b=s.leftForLtr(p,u)+u/2,D=_+c/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Ic(t,v,b,D),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Ic(t,v,b,D)}else{t.lineWidth=a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=s.leftForLtr(p,u-d),b=s.leftForLtr(s.xPlus(p,1),u-d-2),D=xs(a.borderRadius);Object.values(D).some(C=>0!==C)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Pc(t,{x:v,y:_,w:u,h:c,radius:D}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Pc(t,{x:b,y:_+1,w:u-2,h:c-2,radius:D}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(v,_,u,c),t.strokeRect(v,_,u,c),t.fillStyle=a.backgroundColor,t.fillRect(b,_+1,u-2,c-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,i,r){const{body:s}=this,{bodySpacing:o,bodyAlign:a,displayColors:l,boxHeight:c,boxWidth:u,boxPadding:d}=r,h=et(r.bodyFont);let f=h.lineHeight,p=0;const g=Ss(r.rtl,this.x,this.width),_=function(k){i.fillText(k,g.x(t.x+p),t.y+f/2),t.y+=f+o},v=g.textAlign(a);let b,D,C,w,M,A,O;for(i.textAlign=a,i.textBaseline="middle",i.font=h.string,t.x=Yc(this,v,r),i.fillStyle=r.bodyColor,pe(this.beforeBody,_),p=l&&"right"!==v?"center"===a?u/2+d:u+2+d:0,w=0,A=s.length;w<A;++w){for(b=s[w],D=this.labelTextColors[w],i.fillStyle=D,pe(b.before,_),C=b.lines,l&&C.length&&(this._drawColorBox(i,t,w,g,r),f=Math.max(h.lineHeight,c)),M=0,O=C.length;M<O;++M)_(C[M]),f=h.lineHeight;pe(b.after,_)}p=0,f=h.lineHeight,pe(this.afterBody,_),t.y-=o}drawFooter(t,i,r){const s=this.footer,o=s.length;let a,l;if(o){const c=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.footerAlign,r),t.y+=r.footerMarginTop,i.textAlign=c.textAlign(r.footerAlign),i.textBaseline="middle",a=et(r.footerFont),i.fillStyle=r.footerColor,i.font=a.string,l=0;l<o;++l)i.fillText(s[l],c.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,i,r,s){const{xAlign:o,yAlign:a}=this,{x:l,y:c}=t,{width:u,height:d}=r,{topLeft:h,topRight:f,bottomLeft:p,bottomRight:g}=xs(s.cornerRadius);i.fillStyle=s.backgroundColor,i.strokeStyle=s.borderColor,i.lineWidth=s.borderWidth,i.beginPath(),i.moveTo(l+h,c),"top"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+u-f,c),i.quadraticCurveTo(l+u,c,l+u,c+f),"center"===a&&"right"===o&&this.drawCaret(t,i,r,s),i.lineTo(l+u,c+d-g),i.quadraticCurveTo(l+u,c+d,l+u-g,c+d),"bottom"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+p,c+d),i.quadraticCurveTo(l,c+d,l,c+d-p),"center"===a&&"left"===o&&this.drawCaret(t,i,r,s),i.lineTo(l,c+h),i.quadraticCurveTo(l,c,l+h,c),i.closePath(),i.fill(),s.borderWidth>0&&i.stroke()}_updateAnimationTarget(t){const i=this.chart,r=this.$animations,s=r&&r.x,o=r&&r.y;if(s||o){const a=ga[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=Qx(this,t),c=Object.assign({},a,this._size),u=eE(i,t,c),d=tE(t,c,u,i);(s._to!==d.x||o._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}draw(t){const i=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(i);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=gt(i.padding);i.enabled&&(this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(o,t,s,i),Uw(t,i.textDirection),o.y+=a.top,this.drawTitle(o,t,i),this.drawBody(o,t,i),this.drawFooter(o,t,i),$w(t,i.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,i){const r=this._active,s=t.map(({datasetIndex:l,index:c})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[c],index:c}}),o=!vc(r,s),a=this._positionChanged(s,i);(o||a)&&(this._active=s,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,i,r=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],a=this._getActiveElements(t,o,i,r),l=this._positionChanged(a,t),c=i||!vc(a,o)||l;return c&&(this._active=a,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,i))),c}_getActiveElements(t,i,r,s){const o=this.options;if("mouseout"===t.type)return[];if(!s)return i;const a=this.chart.getElementsAtEventForMode(t,o.mode,o,r);return o.reverse&&a.reverse(),a}_positionChanged(t,i){const{caretX:r,caretY:s,options:o}=this,a=ga[o.position].call(this,t,i);return!1!==a&&(r!==a.x||s!==a.y)}}return n.positioners=ga,n})();var zU={id:"tooltip",_element:rE,positioners:ga,afterInit(n,e,t){t&&(n.tooltip=new rE({chart:n,options:t}))},beforeUpdate(n,e,t){n.tooltip&&n.tooltip.initialize(t)},reset(n,e,t){n.tooltip&&n.tooltip.initialize(t)},afterDraw(n){const e=n.tooltip,t={tooltip:e};!1!==n.notifyPlugins("beforeTooltipDraw",t)&&(e&&e.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",t))},afterEvent(n,e){n.tooltip&&n.tooltip.handleEvent(e.event,e.replay,e.inChartArea)&&(e.changed=!0)},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,e)=>e.bodyFont.size,boxWidth:(n,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:hi,title(n){if(n.length>0){const e=n[0],t=e.chart.data.labels,i=t?t.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(i>0&&e.dataIndex<i)return t[e.dataIndex]}return""},afterTitle:hi,beforeBody:hi,beforeLabel:hi,label(n){if(this&&this.options&&"dataset"===this.options.mode)return n.label+": "+n.formattedValue||n.formattedValue;let e=n.dataset.label||"";e&&(e+=": ");const t=n.formattedValue;return de(t)||(e+=t),e},labelColor(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:hi,afterBody:hi,beforeFooter:hi,footer:hi,afterFooter:hi}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>"filter"!==n&&"itemSort"!==n&&"external"!==n,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},WU=Object.freeze({__proto__:null,Decimation:fU,Filler:TU,Legend:kU,SubTitle:NU,Title:FU,Tooltip:zU});class Kc extends pr{constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const i=this.getLabels();for(const{index:r,label:s}of t)i[r]===s&&i.splice(r,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(de(e))return null;const i=this.getLabels();return((n,e)=>null===n?null:ot(Math.round(n),0,e))(t=isFinite(t)&&i[t]===e?t:function(n,e,t,i){const r=n.indexOf(e);return-1===r?((n,e,t,i)=>("string"==typeof e?(t=n.push(e)-1,i.unshift({index:t,label:e})):isNaN(e)&&(t=null),t))(n,e,t,i):r!==n.lastIndexOf(e)?t:r}(i,e,K(t,e),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:i,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(i=0),t||(r=this.getLabels().length-1)),this.min=i,this.max=r}buildTicks(){const e=this.min,t=this.max,i=this.options.offset,r=[];let s=this.getLabels();s=0===e&&t===s.length-1?s:s.slice(e,t+1),this._valueRange=Math.max(s.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let o=e;o<=t;o++)r.push({value:o});return r}getLabelForValue(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}}function sE(n,e,{horizontal:t,minRotation:i}){const r=An(i),s=(t?Math.sin(r):Math.cos(r))||.001;return Math.min(e/s,.75*e*(""+n).length)}Kc.id="category",Kc.defaults={ticks:{callback:Kc.prototype.getLabelForValue}};class Jc extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return de(e)||("number"==typeof e||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){const{beginAtZero:e}=this.options,{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=l=>r=t?r:l,a=l=>s=i?s:l;if(e){const l=Yn(r),c=Yn(s);l<0&&c<0?a(0):l>0&&c>0&&o(0)}if(r===s){let l=1;(s>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(.05*s)),a(s+l),e||o(r-l)}this.min=r,this.max=s}getTickLimit(){const e=this.options.ticks;let r,{maxTicksLimit:t,stepSize:i}=e;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),t=t||11),t&&(r=Math.min(t,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let i=this.getTickLimit();i=Math.max(2,i);const o=function(n,e){const t=[],{bounds:r,step:s,min:o,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:h}=n,f=s||1,p=u-1,{min:g,max:_}=e,v=!de(o),b=!de(a),D=!de(c),C=(_-g)/(d+1);let M,A,O,k,w=cw((_-g)/p/f)*f;if(w<1e-14&&!v&&!b)return[{value:g},{value:_}];k=Math.ceil(_/w)-Math.floor(g/w),k>p&&(w=cw(k*w/p/f)*f),de(l)||(M=Math.pow(10,l),w=Math.ceil(w*M)/M),"ticks"===r?(A=Math.floor(g/w)*w,O=Math.ceil(_/w)*w):(A=g,O=_),v&&b&&s&&function(n,e){const t=Math.round(n);return t-e<=n&&t+e>=n}((a-o)/s,w/1e3)?(k=Math.round(Math.min((a-o)/w,u)),w=(a-o)/k,A=o,O=a):D?(A=v?o:A,O=b?a:O,k=c-1,w=(O-A)/k):(k=(O-A)/w,k=Xo(k,Math.round(k),w/1e3)?Math.round(k):Math.ceil(k));const ue=Math.max(dw(w),dw(A));M=Math.pow(10,de(l)?ue:l),A=Math.round(A*M)/M,O=Math.round(O*M)/M;let te=0;for(v&&(h&&A!==o?(t.push({value:o}),A<o&&te++,Xo(Math.round((A+te*w)*M)/M,o,sE(o,C,n))&&te++):A<o&&te++);te<k;++te)t.push({value:Math.round((A+te*w)*M)/M});return b&&h&&O!==a?t.length&&Xo(t[t.length-1].value,a,sE(a,C,n))?t[t.length-1].value=a:t.push({value:a}):(!b||O===a)&&t.push({value:O}),t}({maxTicks:i,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&uw(o,this,"value"),e.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const e=this.ticks;let t=this.min,i=this.max;if(super.configure(),this.options.offset&&e.length){const r=(i-t)/Math.max(e.length-1,1)/2;t-=r,i+=r}this._startValue=t,this._endValue=i,this._valueRange=i-t}getLabelForValue(e){return oa(e,this.chart.options.locale,this.options.ticks.format)}}class Lp extends Jc{determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?e:0,this.max=Be(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,i=An(this.options.ticks.minRotation),r=(e?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,s.lineHeight/r))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}function oE(n){return n/Math.pow(10,Math.floor(dn(n)))==1}Lp.id="linear",Lp.defaults={ticks:{callback:Bc.formatters.numeric}};class Vp extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const i=Jc.prototype.parse.apply(this,[e,t]);if(0!==i)return Be(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?Math.max(0,e):null,this.max=Be(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=e?i:l,o=l=>r=t?r:l,a=(l,c)=>Math.pow(10,Math.floor(dn(l))+c);i===r&&(i<=0?(s(1),o(10)):(s(a(i,-1)),o(a(r,1)))),i<=0&&s(a(r,-1)),r<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&s(a(i,-1)),this.min=i,this.max=r}buildTicks(){const e=this.options,i=function(n,e){const t=Math.floor(dn(e.max)),i=Math.ceil(e.max/Math.pow(10,t)),r=[];let s=cn(n.min,Math.pow(10,Math.floor(dn(e.min)))),o=Math.floor(dn(s)),a=Math.floor(s/Math.pow(10,o)),l=o<0?Math.pow(10,Math.abs(o)):1;do{r.push({value:s,major:oE(s)}),++a,10===a&&(a=1,++o,l=o>=0?1:l),s=Math.round(a*Math.pow(10,o)*l)/l}while(o<t||o===t&&a<i);const c=cn(n.max,s);return r.push({value:c,major:oE(s)}),r}({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&uw(i,this,"value"),e.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(e){return void 0===e?"0":oa(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=dn(e),this._valueRange=dn(this.max)-dn(e)}getPixelForValue(e){return(void 0===e||0===e)&&(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(dn(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function Bp(n){const e=n.ticks;if(e.display&&n.display){const t=gt(e.backdropPadding);return K(e.font&&e.font.size,ae.font.size)+t.height}return 0}function ZU(n,e,t){return t=we(t)?t:[t],{w:aB(n,e.string,t),h:t.length*e.lineHeight}}function aE(n,e,t,i,r){return n===i||n===r?{start:e-t/2,end:e+t/2}:n<i||n>r?{start:e-t,end:e}:{start:e,end:e+t}}function QU(n,e,t,i,r){const s=Math.abs(Math.sin(t)),o=Math.abs(Math.cos(t));let a=0,l=0;i.start<e.l?(a=(e.l-i.start)/s,n.l=Math.min(n.l,e.l-a)):i.end>e.r&&(a=(i.end-e.r)/s,n.r=Math.max(n.r,e.r+a)),r.start<e.t?(l=(e.t-r.start)/o,n.t=Math.min(n.t,e.t-l)):r.end>e.b&&(l=(r.end-e.b)/o,n.b=Math.max(n.b,e.b+l))}function t3(n){return 0===n||180===n?"center":n<180?"left":"right"}function n3(n,e,t){return"right"===t?n-=e:"center"===t&&(n-=e/2),n}function i3(n,e,t){return 90===t||270===t?n-=e/2:(t>270||t<90)&&(n-=e),n}function lE(n,e,t,i){const{ctx:r}=n;if(t)r.arc(n.xCenter,n.yCenter,e,0,_e);else{let s=n.getPointPosition(0,e);r.moveTo(s.x,s.y);for(let o=1;o<i;o++)s=n.getPointPosition(o,e),r.lineTo(s.x,s.y)}}Vp.id="logarithmic",Vp.defaults={ticks:{callback:Bc.formatters.logarithmic,major:{enabled:!0}}};class ma extends Jc{constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=gt(Bp(this.options)/2),t=this.width=this.maxWidth-e.width,i=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+i/2+e.top),this.drawingArea=Math.floor(Math.min(t,i)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=Be(e)&&!isNaN(e)?e:0,this.max=Be(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Bp(this.options))}generateTickLabels(e){Jc.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map((t,i)=>{const r=xe(this.options.pointLabels.callback,[t,i],this);return r||0===r?r:""}).filter((t,i)=>this.chart.getDataVisibility(i))}fit(){const e=this.options;e.display&&e.pointLabels.display?function(n){const e={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},t=Object.assign({},e),i=[],r=[],s=n._pointLabels.length,o=n.options.pointLabels,a=o.centerPointLabels?Ae/s:0;for(let l=0;l<s;l++){const c=o.setContext(n.getPointLabelContext(l));r[l]=c.padding;const u=n.getPointPosition(l,n.drawingArea+r[l],a),d=et(c.font),h=ZU(n.ctx,d,n._pointLabels[l]);i[l]=h;const f=Kt(n.getIndexAngle(l)+a),p=Math.round(rp(f));QU(t,e,f,aE(p,u.x,h.w,0,180),aE(p,u.y,h.h,90,270))}n.setCenterPoint(e.l-t.l,t.r-e.r,e.t-t.t,t.b-e.b),n._pointLabelItems=function(n,e,t){const i=[],r=n._pointLabels.length,s=n.options,o=Bp(s)/2,a=n.drawingArea,l=s.pointLabels.centerPointLabels?Ae/r:0;for(let c=0;c<r;c++){const u=n.getPointPosition(c,a+o+t[c],l),d=Math.round(rp(Kt(u.angle+Fe))),h=e[c],f=i3(u.y,h.h,d),p=t3(d),g=n3(u.x,h.w,p);i.push({x:u.x,y:f,textAlign:p,left:g,top:f,right:g+h.w,bottom:f+h.h})}return i}(n,i,r)}(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,i,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,i,r))}getIndexAngle(e){return Kt(e*(_e/(this._pointLabels.length||1))+An(this.options.startAngle||0))}getDistanceFromCenterForValue(e){if(de(e))return NaN;const t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(de(e))return NaN;const t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){const t=this._pointLabels||[];if(e>=0&&e<t.length){const i=t[e];return function(n,e,t){return Li(n,{label:t,index:e,type:"pointLabel"})}(this.getContext(),e,i)}}getPointPosition(e,t,i=0){const r=this.getIndexAngle(e)-Fe+i;return{x:Math.cos(r)*t+this.xCenter,y:Math.sin(r)*t+this.yCenter,angle:r}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){const{left:t,top:i,right:r,bottom:s}=this._pointLabelItems[e];return{left:t,top:i,right:r,bottom:s}}drawBackground(){const{backgroundColor:e,grid:{circular:t}}=this.options;if(e){const i=this.ctx;i.save(),i.beginPath(),lE(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),i.closePath(),i.fillStyle=e,i.fill(),i.restore()}}drawGrid(){const e=this.ctx,t=this.options,{angleLines:i,grid:r}=t,s=this._pointLabels.length;let o,a,l;if(t.pointLabels.display&&function(n,e){const{ctx:t,options:{pointLabels:i}}=n;for(let r=e-1;r>=0;r--){const s=i.setContext(n.getPointLabelContext(r)),o=et(s.font),{x:a,y:l,textAlign:c,left:u,top:d,right:h,bottom:f}=n._pointLabelItems[r],{backdropColor:p}=s;if(!de(p)){const g=gt(s.backdropPadding);t.fillStyle=p,t.fillRect(u-g.left,d-g.top,h-u+g.width,f-d+g.height)}ur(t,n._pointLabels[r],a,l+o.lineHeight/2,o,{color:s.color,textAlign:c,textBaseline:"middle"})}}(this,s),r.display&&this.ticks.forEach((c,u)=>{0!==u&&(a=this.getDistanceFromCenterForValue(c.value),function(n,e,t,i){const r=n.ctx,s=e.circular,{color:o,lineWidth:a}=e;!s&&!i||!o||!a||t<0||(r.save(),r.strokeStyle=o,r.lineWidth=a,r.setLineDash(e.borderDash),r.lineDashOffset=e.borderDashOffset,r.beginPath(),lE(n,t,s,i),r.closePath(),r.stroke(),r.restore())}(this,r.setContext(this.getContext(u-1)),a,s))}),i.display){for(e.save(),o=s-1;o>=0;o--){const c=i.setContext(this.getPointLabelContext(o)),{color:u,lineWidth:d}=c;!d||!u||(e.lineWidth=d,e.strokeStyle=u,e.setLineDash(c.borderDash),e.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(t.ticks.reverse?this.min:this.max),l=this.getPointPosition(o,a),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,i=t.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach((a,l)=>{if(0===l&&!t.reverse)return;const c=i.setContext(this.getContext(l)),u=et(c.font);if(s=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){e.font=u.string,o=e.measureText(a.label).width,e.fillStyle=c.backdropColor;const d=gt(c.backdropPadding);e.fillRect(-o/2-d.left,-s-u.size/2-d.top,o+d.width,u.size+d.height)}ur(e,a.label,0,-s,u,{color:c.color})}),e.restore()}drawTitle(){}}ma.id="radialLinear",ma.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Bc.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:n=>n,padding:5,centerPointLabels:!1}},ma.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},ma.descriptors={angleLines:{_fallback:"grid"}};const Zc={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},kt=Object.keys(Zc);function a3(n,e){return n-e}function cE(n,e){if(de(e))return null;const t=n._adapter,{parser:i,round:r,isoWeekday:s}=n._parseOpts;let o=e;return"function"==typeof i&&(o=i(o)),Be(o)||(o="string"==typeof i?t.parse(o,i):t.parse(o)),null===o?null:(r&&(o="week"!==r||!Zo(s)&&!0!==s?t.startOf(o,r):t.startOf(o,"isoWeek",s)),+o)}function uE(n,e,t,i){const r=kt.length;for(let s=kt.indexOf(n);s<r-1;++s){const o=Zc[kt[s]],a=o.steps?o.steps:Number.MAX_SAFE_INTEGER;if(o.common&&Math.ceil((t-e)/(a*o.size))<=i)return kt[s]}return kt[r-1]}function dE(n,e,t){if(t){if(t.length){const{lo:i,hi:r}=gp(t,e);n[t[i]>=e?t[i]:t[r]]=!0}}else n[e]=!0}function hE(n,e,t){const i=[],r={},s=e.length;let o,a;for(o=0;o<s;++o)a=e[o],r[a]=o,i.push({value:a,major:!1});return 0!==s&&t?function(n,e,t,i){const r=n._adapter,s=+r.startOf(e[0].value,i),o=e[e.length-1].value;let a,l;for(a=s;a<=o;a=+r.add(a,1,i))l=t[a],l>=0&&(e[l].major=!0);return e}(n,i,r,t):i}let jp=(()=>{class n extends pr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,i){const r=t.time||(t.time={}),s=this._adapter=new kj._date(t.adapters.date);Ko(r.displayFormats,s.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=i.normalized}parse(t,i){return void 0===t?null:cE(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,i=this._adapter,r=t.time.unit||"day";let{min:s,max:o,minDefined:a,maxDefined:l}=this.getUserBounds();function c(u){!a&&!isNaN(u.min)&&(s=Math.min(s,u.min)),!l&&!isNaN(u.max)&&(o=Math.max(o,u.max))}(!a||!l)&&(c(this._getLabelBounds()),("ticks"!==t.bounds||"labels"!==t.ticks.source)&&c(this.getMinMax(!1))),s=Be(s)&&!isNaN(s)?s:+i.startOf(Date.now(),r),o=Be(o)&&!isNaN(o)?o:+i.endOf(Date.now(),r)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(i=t[0],r=t[t.length-1]),{min:i,max:r}}buildTicks(){const t=this.options,i=t.time,r=t.ticks,s="labels"===r.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,l=function(n,e,t){let i=0,r=n.length;for(;i<r&&n[i]<e;)i++;for(;r>i&&n[r-1]>t;)r--;return i>0||r<n.length?n.slice(i,r):n}(s,o,this.max);return this._unit=i.unit||(r.autoSkip?uE(i.minUnit,this.min,this.max,this._getLabelCapacity(o)):function(n,e,t,i,r){for(let s=kt.length-1;s>=kt.indexOf(t);s--){const o=kt[s];if(Zc[o].common&&n._adapter.diff(r,i,o)>=e-1)return o}return kt[t?kt.indexOf(t):0]}(this,l.length,i.minUnit,this.min,this.max)),this._majorUnit=r.major.enabled&&"year"!==this._unit?function(n){for(let e=kt.indexOf(n)+1,t=kt.length;e<t;++e)if(Zc[kt[e]].common)return kt[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&l.reverse(),hE(this,l,this._majorUnit)}initOffsets(t){let s,o,i=0,r=0;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),i=1===t.length?1-s:(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),r=1===t.length?o:(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;i=ot(i,0,a),r=ot(r,0,a),this._offsets={start:i,end:r,factor:1/(i+1+r)}}_generate(){const t=this._adapter,i=this.min,r=this.max,s=this.options,o=s.time,a=o.unit||uE(o.minUnit,i,r,this._getLabelCapacity(i)),l=K(o.stepSize,1),c="week"===a&&o.isoWeekday,u=Zo(c)||!0===c,d={};let f,p,h=i;if(u&&(h=+t.startOf(h,"isoWeek",c)),h=+t.startOf(h,u?"day":a),t.diff(r,i,a)>1e5*l)throw new Error(i+" and "+r+" are too far apart with stepSize of "+l+" "+a);const g="data"===s.ticks.source&&this.getDataTimestamps();for(f=h,p=0;f<r;f=+t.add(f,l,a),p++)dE(d,f,g);return(f===r||"ticks"===s.bounds||1===p)&&dE(d,f,g),Object.keys(d).sort((_,v)=>_-v).map(_=>+_)}getLabelForValue(t){const r=this.options.time;return this._adapter.format(t,r.tooltipFormat?r.tooltipFormat:r.displayFormats.datetime)}_tickFormatFunction(t,i,r,s){const o=this.options,a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=c&&a[c],h=r[i],p=this._adapter.format(t,s||(c&&d&&h&&h.major?d:l&&a[l])),g=o.ticks.callback;return g?xe(g,[p,i,r],this):p}generateTickLabels(t){let i,r,s;for(i=0,r=t.length;i<r;++i)s=t[i],s.label=this._tickFormatFunction(s.value,i,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const i=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((i.start+r)*i.factor)}getValueForPixel(t){const i=this._offsets,r=this.getDecimalForPixel(t)/i.factor-i.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const i=this.options.ticks,r=this.ctx.measureText(t).width,s=An(this.isHorizontal()?i.maxRotation:i.minRotation),o=Math.cos(s),a=Math.sin(s),l=this._resolveTickFontOptions(0).size;return{w:r*o+l*a,h:r*a+l*o}}_getLabelCapacity(t){const i=this.options.time,r=i.displayFormats,s=r[i.unit]||r.millisecond,o=this._tickFormatFunction(t,0,hE(this,[t],this._majorUnit),s),a=this._getLabelSize(o),l=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return l>0?l:1}getDataTimestamps(){let i,r,t=this._cache.data||[];if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(i=0,r=s.length;i<r;++i)t=t.concat(s[i].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let i,r;if(t.length)return t;const s=this.getLabels();for(i=0,r=s.length;i<r;++i)t.push(cE(this,s[i]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Iw(t.sort(a3))}}return n.id="time",n.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}},n})();function Xc(n,e,t){let s,o,a,l,i=0,r=n.length-1;t?(e>=n[i].pos&&e<=n[r].pos&&({lo:i,hi:r}=pi(n,"pos",e)),({pos:s,time:a}=n[i]),({pos:o,time:l}=n[r])):(e>=n[i].time&&e<=n[r].time&&({lo:i,hi:r}=pi(n,"time",e)),({time:s,pos:a}=n[i]),({time:o,pos:l}=n[r]));const c=o-s;return c?a+(l-a)*(e-s)/c:a}class Hp extends jp{constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Xc(t,this.min),this._tableRange=Xc(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:i}=this,r=[],s=[];let o,a,l,c,u;for(o=0,a=e.length;o<a;++o)c=e[o],c>=t&&c<=i&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:i,pos:1}];for(o=0,a=r.length;o<a;++o)u=r[o+1],l=r[o-1],c=r[o],Math.round((u+l)/2)!==c&&s.push({time:c,pos:o/(a-1)});return s}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),i=this.getLabelTimestamps();return e=t.length&&i.length?this.normalize(t.concat(i)):t.length?t:i,e=this._cache.all=e,e}getDecimalForValue(e){return(Xc(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,i=this.getDecimalForPixel(e)/t.factor-t.end;return Xc(this._table,i*this._tableRange+this._minPos,!0)}}Hp.id="timeseries",Hp.defaults=jp.defaults;const h3=[Pj,cU,WU,Object.freeze({__proto__:null,CategoryScale:Kc,LinearScale:Lp,LogarithmicScale:Vp,RadialLinearScale:ma,TimeScale:jp,TimeSeriesScale:Hp})];function fE(n,e){const t=V(n)?n:()=>n,i=r=>r.error(t());return new fe(e?r=>e.schedule(i,0,r):i)}class f3 extends Rt{constructor(e,t){super()}schedule(e,t=0){return this}}const Qc={setInterval(...n){const{delegate:e}=Qc;return((null==e?void 0:e.setInterval)||setInterval)(...n)},clearInterval(n){const{delegate:e}=Qc;return((null==e?void 0:e.clearInterval)||clearInterval)(n)},delegate:void 0},pE={now:()=>(pE.delegate||Date).now(),delegate:void 0};class ya{constructor(e,t=ya.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,i){return new this.schedulerActionCtor(this,e).schedule(i,t)}}ya.now=pE.now;const gE=new class extends ya{constructor(e,t=ya.now){super(e,t),this.actions=[],this._active=!1,this._scheduled=void 0}flush(e){const{actions:t}=this;if(this._active)return void t.push(e);let i;this._active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}(class extends f3{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return Qc.setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;Qc.clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=s||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:e,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,_r(i,this),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}}),m3=gE;function mE(n=0,e,t=m3){let i=-1;return null!=e&&(gg(e)?t=e:i=e),new fe(r=>{let s=function(n){return n instanceof Date&&!isNaN(n)}(n)?+n-t.now():n;s<0&&(s=0);let o=0;return t.schedule(function(){r.closed||(r.next(o++),0<=i?this.schedule(void 0,i):r.complete())},s)})}function Jn(n=1/0){let e;e=n&&"object"==typeof n?n:{count:n};const{count:t=1/0,delay:i,resetOnSuccess:r=!1}=e;return t<=0?vi:je((s,o)=>{let l,a=0;const c=()=>{let u=!1;l=s.subscribe(new Ne(o,d=>{r&&(a=0),o.next(d)},void 0,d=>{if(a++<t){const h=()=>{l?(l.unsubscribe(),l=null,c()):u=!0};if(null!=i){const f="number"==typeof i?mE(i):Zt(i(d,a)),p=new Ne(o,()=>{p.unsubscribe(),h()},()=>{o.complete()});f.subscribe(p)}else h()}else o.error(d)})),u&&(l.unsubscribe(),l=null,c())};c()})}let mr=(()=>{class n{constructor(t){this.http=t,this.apiUrl="https://localhost:3000/api"}dbInsert(){return this.http.post(`${this.apiUrl}/db-insert`,"").pipe(Jn(1),st(this.handleError))}dbDelete(){return this.http.delete(`${this.apiUrl}/db-delete`).pipe(Jn(1),st(this.handleError))}signIn(t){return this.http.post(`${this.apiUrl}/sign-in`,t).pipe(Jn(1),st(this.handleError))}signUpUser(t){return this.http.post(`${this.apiUrl}/sign-up-user`,{first_name:t.first_name,last_name:t.last_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}signUpCompany(t){return this.http.post(`${this.apiUrl}/sign-up-company`,{company_name:t.company_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}decodeToken(){const t=`${this.apiUrl}/token-decode`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}getToken(){const t=localStorage.getItem("jobhub_token");return null===t?"":t}autofindJob(){const t=`${this.apiUrl}/joboffers/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}autofindCV(){const t=`${this.apiUrl}/cvs/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}sendResult(t,i){const r=`${this.apiUrl}/results`,s=(new Tt).append("authorization",this.getToken());return this.http.post(r,{result:t,shown_id:i},{headers:s}).pipe(Jn(0),st(this.handleError))}handleError(t){return fE(()=>`Error '${t.status}' with description:'${t.error.message||t.statusText}'`)}getJoke(){const t=new Tt;return this.http.get("https://api.jokes.one/jod",{headers:t}).pipe(Jn(1),st(this.handleError))}}return n.\u0275fac=function(t){return new(t||n)(P(WC))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),_3=(()=>{class n{constructor(t,i){this.router=t,this.jobhubDataService=i}saveToken(t){const i=JSON.parse(t);localStorage.setItem("jobhub_token","Bearer "+i.access_token)}checkIfSignedIn(){if(localStorage.getItem("jobhub_token")){const t=this.router;this.jobhubDataService.decodeToken().subscribe({next(i){const r=JSON.parse(JSON.stringify(i));"USER"===r.user_role?t.navigateByUrl("user-main"):"COMPANY"===r.user_role&&t.navigateByUrl("company-main")}})}}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(mr))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const v3=["addListener","removeListener"],b3=["addEventListener","removeEventListener"],C3=["on","off"];function Is(n,e,t,i){if(V(t)&&(i=t,t=void 0),i)return Is(n,e,t).pipe(pf(i));const[r,s]=function(n){return V(n.addEventListener)&&V(n.removeEventListener)}(n)?b3.map(o=>a=>n[o](e,a,t)):function(n){return V(n.addListener)&&V(n.removeListener)}(n)?v3.map(yE(n,e)):function(n){return V(n.on)&&V(n.off)}(n)?C3.map(yE(n,e)):[];if(!r&&cu(n))return He(o=>Is(o,e,t))(Zt(n));if(!r)throw new TypeError("Invalid event target");return new fe(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function yE(n,e){return t=>i=>n[t](e,i)}let E3=(()=>{class n{constructor(){this.isConnected=!1,Ea(Is(window,"offline").pipe(Z(()=>!1)),Is(window,"online").pipe(Z(()=>!0)),new fe(t=>{t.next(navigator.onLine),t.complete()})).subscribe(t=>this.isConnected=t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();gr.register(...h3);const M3=[{path:"",component:(()=>{class n{constructor(t,i,r){this.jobhubDataService=t,this.signInService=i,this.connectinService=r,this.signInData={email:"",password:""},this.joke=""}onSignIn(){const t=this.signInService;this.jobhubDataService.signIn(this.signInData).subscribe({next(i){t.saveToken(JSON.stringify(i)),t.checkIfSignedIn()}})}isConnected(){return this.connectinService.isConnected}ngOnInit(){this.signInService.checkIfSignedIn(),this.jobhubDataService.getJoke().subscribe(o=>{this.joke=o.contents.jokes[0].joke.text}),console.log(this.joke),new gr("jobChart",{type:"bar",data:{labels:["Full Stack Web Developer","Back End Web Developer","Front End Web Developer","Other","Desktop Developer","Team Leader","Chief Technology Officer","Mobile Developer","Project Manager","DevOps","Embedded Developer","Machine Learning Specialist","Consultant","System Administrator","Developer","System Integrator","Data Administrator","UI/UX Developer","Game Developer"],datasets:[{label:"jobs",data:[364,276,148,87,70,63,50,68,43,42,37,34,31,28,22,21,17,15,14],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("languageChart",{type:"bar",data:{labels:["SQL","JavaScript","HTML/CSS","Python","Java","C#","TypeScript","PHP","Bash","C++","C","Go","Kotlin","Swift","Objective C","Ruby","Perl","Scala"],datasets:[{label:"languages",data:[1053,978,975,613,590,515,464,445,307,261,233,131,94,60,49,38,26,26],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("salaryChart",{type:"bar",data:{labels:["< 1024.25 \u20ac","1024.26 \u20ac - 1499.99 \u20ac","1500.00 \u20ac - 1999.99 \u20ac","2000.00 \u20ac - 2499.99 \u20ac","3000.00 \u20ac - 3499.99 \u20ac","3500.00 \u20ac - 3999.99 \u20ac","4000.00 \u20ac - 4499.99 \u20ac","4500.00 \u20ac - 4999.99 \u20ac","5000.00 \u20ac - 5499.99 \u20ac","5500.00 \u20ac - 6499.99 \u20ac","6500.00 \u20ac - 7499.99 \u20ac","7500.00 \u20ac - 7999.99 \u20ac","8000.00 \u20ac - 8499.99 \u20ac","> 8500.00 \u20ac"],datasets:[{label:"gross salary",data:[14,31,124,203,200,156,96,66,54,23,12,5,5,19],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("ageChart",{type:"bar",data:{labels:["< 18 y.o.","19 y.o. - 25 y.o.","26 y.o. - 30 y.o.","31 y.o. - 40 y.o.","41 y.o. - 50 y.o.","> 50 y.o."],datasets:[{label:"age",data:[3,302,473,532,103,18],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}})}}return n.\u0275fac=function(t){return new(t||n)(x(mr),x(_3),x(E3))},n.\u0275cmp=On({type:n,selectors:[["app-index"]],decls:93,vars:3,consts:[["src","../../../assets/images/background.jpg","alt","background",1,"backgroundImage"],[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","./",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse","headerCollapseOptions"],[1,"navbar-nav","ms-auto","pt-md-0","ps-md-0","pb-md-0","pt-3","pb-3","ps-3"],[1,"nav-item"],["aria-current","page","href","./sign-in",1,"nav-link"],[1,"headerOptions"],["href","./sign-up",1,"nav-link"],["type","button","data-bs-toggle","modal","data-bs-target","#exampleModal",1,"nav-link",2,"background","none","border","none"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-lg-5","heading","align-content-center","pt-lg-5"],[1,"col-12","col-lg-7","align-content-center","mt-3","pt-3","pb-3"],[1,"text-center"],["method","POST","action","/sign-in"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","id","indexInputEmail","name","email","required","",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","indexInputPassword1",1,"form-label"],["type","password","id","indexInputPassword1","name","password","required","",1,"form-control",3,"ngModel","ngModelChange"],["password",""],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","indexOrJoinNow","indexSingUp"],[1,"col-5"],[1,"col-2"],[1,"mt-4"],["href","./sign-up","role","button",1,"submit","btn","btn-primary"],[1,"col-12","pt-3","pt-md-5"],[1,"col-12","col-md-10","col-lg-5","mt-3"],["baseChart","","id","jobChart","width","400","height","300"],["id","languageChart","width","400","height","300"],["id","salaryChart","width","400","height","300"],["id","ageChart","width","400","height","300"],["id","exampleModal","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","exampleModalLabel",1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[2,"font-size","115%"],[2,"font-size","125%"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary",2,"width","auto","height","auto","background","#ea2e64","border","1px solid #ea2e64"],["href","mailto:vid.slovenia7@gmail.com","type","button",1,"submit","btn","btn-primary",2,"width","auto","height","auto"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),Q(1,"img",0),m(2,"header"),m(3,"nav",1),m(4,"div",2),m(5,"a",3),m(6,"span",4),Q(7,"img",5),y(),y(),m(8,"button",6),Q(9,"span",7),y(),m(10,"div",8),m(11,"ul",9),m(12,"li",10),m(13,"a",11),m(14,"span",12),S(15,"Sign in"),y(),y(),y(),m(16,"li",10),m(17,"a",13),m(18,"span",12),S(19,"Sign up"),y(),y(),y(),m(20,"li",10),m(21,"button",14),m(22,"span",12),S(23,"Contact"),y(),y(),y(),y(),y(),y(),y(),y(),m(24,"div",15),m(25,"div",16),m(26,"div",17),m(27,"p"),S(28,"a simple swipe to "),m(29,"b"),S(30,"get a job"),y(),S(31,"."),y(),y(),m(32,"div",18),m(33,"div",19),m(34,"form",20),m(35,"div",21),m(36,"label",22),S(37,"Email"),y(),m(38,"input",23,24),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(40,"div",21),m(41,"label",25),S(42,"Password"),y(),m(43,"input",26,27),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(45,"div",28),m(46,"button",29),q("click",function(){return i.onSignIn()}),S(47," Sign in "),y(),y(),y(),y(),m(48,"div",30),m(49,"div",16),m(50,"div",31),Q(51,"hr"),y(),m(52,"div",32),S(53,"or"),y(),m(54,"div",31),Q(55,"hr"),y(),y(),y(),m(56,"div",30),m(57,"div",33),m(58,"a",34),S(59,"Sign up"),y(),y(),y(),y(),m(60,"div",35),m(61,"div",16),m(62,"div",36),Q(63,"canvas",37),y(),m(64,"div",36),Q(65,"canvas",38),y(),m(66,"div",36),Q(67,"canvas",39),y(),m(68,"div",36),Q(69,"canvas",40),y(),y(),y(),y(),y(),m(70,"div",16),m(71,"div",41),m(72,"div",42),m(73,"div",43),m(74,"div",44),m(75,"h5",45),S(76," We are hiring. Contact us! "),y(),Q(77,"button",46),y(),m(78,"div",47),m(79,"div",48),S(80,"Joke of the day"),y(),m(81,"div",49),S(82),y(),y(),m(83,"div",50),m(84,"button",51),S(85," Close "),y(),m(86,"a",52),S(87,"Send message"),y(),y(),y(),y(),y(),y(),m(88,"footer"),m(89,"a",53),m(90,"span",54),Q(91,"img",5),y(),y(),S(92," \xa92021 "),y(),y()),2&t&&(re(38),Ze("ngModel",i.signInData.email),re(5),Ze("ngModel",i.signInData.password),re(39),Wt(i.joke))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["body[_ngcontent-%COMP%]{overflow-x:hidden}form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:420px}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.content-container[_ngcontent-%COMP%]{min-height:1321px!important}.backgroundImage[_ngcontent-%COMP%]{position:absolute;right:42px;top:100px;z-index:-1}.heading[_ngcontent-%COMP%]{font-size:350%;text-align:right;color:var(--primaryColor)}.heading[_ngcontent-%COMP%]   b[_ngcontent-%COMP%]{color:var(--secondaryColor)}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:auto;padding-top:50px;width:80%}@media handheld and (max-width: 1370px),screen and (max-device-width: 1370px),screen and (max-width: 1370px){body[_ngcontent-%COMP%]{position:relative}.backgroundImage[_ngcontent-%COMP%]{right:-170px;top:100px}}@media handheld and (max-width: 1400px),screen and (max-device-width: 1400px),screen and (max-width: 1400px){.heading[_ngcontent-%COMP%]{font-size:325%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{padding-top:15px}}@media handheld and (max-width: 992px),screen and (max-device-width: 992px),screen and (max-width: 992px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{margin:auto}.heading[_ngcontent-%COMP%]{font-size:300%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:60%;margin:auto}.heading[_ngcontent-%COMP%]{text-align:center}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:90%}.heading[_ngcontent-%COMP%]{width:420px;margin:auto}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 700px),screen and (max-device-width: 700px),screen and (max-width: 700px){.backgroundImage[_ngcontent-%COMP%]{display:none}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:85%}}"]}),n})()},{path:"sign-in",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signInData={email:"",password:""}}onSignIn(){this.jobhubDataService.signIn(this.signInData).subscribe(()=>{console.log(this.signInData)})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-in"]],decls:58,vars:2,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","name","email","id","indexInputEmail","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signInInputPassword1",1,"form-label"],["type","password","name","password","id","signInInputPassword1","required","",1,"form-control",3,"ngModel","ngModelChange"],[1,"mb-4"],["type","submit","id","cfa-signin",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","signInOr"],[1,"col-5"],[1,"col-2"],[1,"text-center","signInJoinWith"],[1,"mt-4"],["href","#","role","button",1,"joinOther","joinGoogle","btn","btn-primary"],[1,"fab","fa-google","me-3"],[1,"mt-3"],["href","#","role","button",1,"joinOther","joinApple","btn","btn-primary"],[1,"fab","fa-apple","me-3"],[1,"mt-3","mb-4"],["href","#","role","button",1,"joinOther","joinFacebook","btn","btn-primary"],[1,"fab","fa-facebook","me-3"],["href","sign-up","role","button",1,"submit","btn","btn-primary"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"div",8),m(11,"form",9),m(12,"div",10),m(13,"label",11),S(14,"Email"),y(),m(15,"input",12),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(16,"div",10),m(17,"label",13),S(18,"Password"),y(),m(19,"input",14),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(20,"div",15),m(21,"button",16),q("click",function(){return i.onSignIn()}),S(22," Sign in "),y(),y(),y(),y(),m(23,"div",17),m(24,"div",6),m(25,"div",18),Q(26,"hr"),y(),m(27,"div",19),S(28,"or"),y(),m(29,"div",18),Q(30,"hr"),y(),y(),y(),m(31,"div",20),m(32,"div",21),m(33,"a",22),Q(34,"i",23),S(35," Join with Google"),y(),y(),m(36,"div",24),m(37,"a",25),Q(38,"i",26),S(39," Join with Apple"),y(),y(),m(40,"div",27),m(41,"a",28),Q(42,"i",29),S(43," Join with Facebook"),y(),y(),y(),m(44,"div",17),Q(45,"hr"),y(),m(46,"div",17),m(47,"div"),m(48,"p"),S(49,"Don't have account? Join now!"),y(),y(),m(50,"div",24),m(51,"a",30),S(52,"Sign up"),y(),y(),y(),y(),y(),y(),m(53,"footer"),m(54,"a",31),m(55,"span",32),Q(56,"img",4),y(),y(),S(57," \xa9 "),y(),y()),2&t&&(re(15),Ze("ngModel",i.signInData.email),re(4),Ze("ngModel",i.signInData.password))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.joinGoogle[_ngcontent-%COMP%], .joinApple[_ngcontent-%COMP%], .joinFacebook[_ngcontent-%COMP%]{font-weight:700;width:100%;border:0;height:var(--standardHeight)}.joinGoogle[_ngcontent-%COMP%]{background:transparent!important;border:1px solid var(--borderColor);color:var(--primaryFontColor)}.joinApple[_ngcontent-%COMP%]{background:black!important;color:#fff;border:0}.joinFacebook[_ngcontent-%COMP%]{background:#3b5998!important;color:#fff;border:0}.joinGoogle[_ngcontent-%COMP%]:hover, .joinGoogle[_ngcontent-%COMP%]:active, .joinGoogle[_ngcontent-%COMP%]:focus{background:#e2e2e2!important;border:0;color:var(--primaryFontColor);box-shadow:none!important}.joinApple[_ngcontent-%COMP%]:hover, .joinApple[_ngcontent-%COMP%]:active, .joinApple[_ngcontent-%COMP%]:focus{background:#333!important;box-shadow:none!important;color:#fff}.joinFacebook[_ngcontent-%COMP%]:hover, .joinFacebook[_ngcontent-%COMP%]:active, .joinFacebook[_ngcontent-%COMP%]:focus{background:#3a61b3!important;box-shadow:none!important;color:#fff}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"sign-up",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signUpDataUser={first_name:"",last_name:"",email:"",industry:"",password:"",confirm_password:""},this.signUpDataCompany={company_name:"",email:"",industry:"",password:"",confirm_password:""}}onSignUpUser(){this.jobhubDataService.signUpUser(this.signUpDataUser).subscribe(()=>{console.log(this.signUpDataUser)})}onSignUpCompany(){this.jobhubDataService.signUpCompany(this.signUpDataCompany).subscribe(()=>{console.log(this.signUpDataCompany)})}isDataUser(){return!(this.validateMailUser()&&this.validatePasswordUser())}validateMailUser(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataUser.email)}validatePasswordUser(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataUser.password)||this.signUpDataUser.password!==this.signUpDataUser.confirm_password)}isDataCompany(){return!(this.validateMailCompany()&&this.validatePasswordCompany())}validateMailCompany(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataCompany.email)}validatePasswordCompany(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataCompany.password)||this.signUpDataCompany.password!==this.signUpDataCompany.confirm_password)}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-up"]],decls:89,vars:13,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","pe-md-3","pe-xl-5","signUpUser"],[1,"signUpJoinAs"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3","col-12","col-lg-6"],["for","signUpUserInputFirstName",1,"form-label"],["type","text","name","first_name","required","","id","signUpUserInputFirstName",1,"form-control",3,"ngModel","ngModelChange"],["first_name",""],["for","signUpUserInputLastName",1,"form-label"],["type","text","name","last_name","required","","id","signUpUserInputLastName",1,"form-control",3,"ngModel","ngModelChange"],["last_name",""],["for","signUpUserInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpUserInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","signUpUserInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpUserInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["industry",""],["for","signUpUserInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpUserInputPassword",1,"form-control",3,"ngModel","ngModelChange"],["password",""],["for","signUpUserInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpUserInputConfirmPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["confirm_password",""],[1,"mb-4"],["type","hidden","name","user_role","value","USER"],["type","submit",1,"submit","btn","btn-primary",3,"disabled","click"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","ps-md-3","ps-xl-5"],[1,"mb-3","col-12"],["for","signUpCompanyInputName",1,"form-label"],["type","text","name","username","required","","id","signUpCompanyInputName",1,"form-control",3,"ngModel","ngModelChange"],["username",""],["for","signUpCompanyInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpCompanyInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpCompanyInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpCompanyInputPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpCompanyInputConfirmPassword",1,"form-control",3,"ngModel","ngModelChange"],["type","hidden","name","user_role","value","COMPANY"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"p",8),S(11,"Join as User"),y(),m(12,"div",9),m(13,"form",10),m(14,"div",6),m(15,"div",11),m(16,"label",12),S(17,"First name"),y(),m(18,"input",13,14),q("ngModelChange",function(s){return i.signUpDataUser.first_name=s}),y(),y(),m(20,"div",11),m(21,"label",15),S(22,"Last name"),y(),m(23,"input",16,17),q("ngModelChange",function(s){return i.signUpDataUser.last_name=s}),y(),y(),m(25,"div",11),m(26,"label",18),S(27,"Email"),y(),m(28,"input",19,20),q("ngModelChange",function(s){return i.signUpDataUser.email=s}),y(),y(),m(30,"div",11),m(31,"label",21),S(32,"Industry"),y(),m(33,"input",22,23),q("ngModelChange",function(s){return i.signUpDataUser.industry=s}),y(),y(),m(35,"div",11),m(36,"label",24),S(37,"Password"),y(),m(38,"input",25,26),q("ngModelChange",function(s){return i.signUpDataUser.password=s}),y(),y(),m(40,"div",11),m(41,"label",27),S(42,"Confirm password"),y(),m(43,"input",28,29),q("ngModelChange",function(s){return i.signUpDataUser.confirm_password=s}),y(),y(),m(45,"div",30),Q(46,"input",31),m(47,"button",32),q("click",function(){return i.onSignUpUser()}),S(48," Sign up as User "),y(),y(),y(),y(),y(),y(),m(49,"div",33),m(50,"p",8),S(51,"Join as Company"),y(),m(52,"div",9),m(53,"form",10),m(54,"div",6),m(55,"div",34),m(56,"label",35),S(57,"Name"),y(),m(58,"input",36,37),q("ngModelChange",function(s){return i.signUpDataCompany.company_name=s}),y(),y(),m(60,"div",11),m(61,"label",38),S(62,"Email"),y(),m(63,"input",39,20),q("ngModelChange",function(s){return i.signUpDataCompany.email=s}),y(),y(),m(65,"div",11),m(66,"label",40),S(67,"Industry"),y(),m(68,"input",41,23),q("ngModelChange",function(s){return i.signUpDataCompany.industry=s}),y(),y(),m(70,"div",11),m(71,"label",42),S(72,"Password"),y(),m(73,"input",43,26),q("ngModelChange",function(s){return i.signUpDataCompany.password=s}),y(),y(),m(75,"div",11),m(76,"label",44),S(77,"Confirm password"),y(),m(78,"input",45,29),q("ngModelChange",function(s){return i.signUpDataCompany.confirm_password=s}),y(),y(),m(80,"div",30),Q(81,"input",46),m(82,"button",32),q("click",function(){return i.onSignUpCompany()}),S(83," Sign up as Company "),y(),y(),y(),y(),y(),y(),y(),y(),m(84,"footer"),m(85,"a",47),m(86,"span",48),Q(87,"img",4),y(),y(),S(88," \xa92021 "),y(),y()),2&t&&(re(18),Ze("ngModel",i.signUpDataUser.first_name),re(5),Ze("ngModel",i.signUpDataUser.last_name),re(5),Ze("ngModel",i.signUpDataUser.email),re(5),Ze("ngModel",i.signUpDataUser.industry),re(5),Ze("ngModel",i.signUpDataUser.password),re(5),Ze("ngModel",i.signUpDataUser.confirm_password),re(4),Ze("disabled",i.isDataUser()),re(11),Ze("ngModel",i.signUpDataCompany.company_name),re(5),Ze("ngModel",i.signUpDataCompany.email),re(5),Ze("ngModel",i.signUpDataCompany.industry),re(5),Ze("ngModel",i.signUpDataCompany.password),re(5),Ze("ngModel",i.signUpDataCompany.confirm_password),re(4),Ze("disabled",i.isDataCompany()))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:[".submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:42%;border:0;height:var(--standardHeight);height:100%}.signUpUser[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.signUpJoinAs[_ngcontent-%COMP%]{text-align:center;font-size:150%;margin-bottom:5%}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){form[_ngcontent-%COMP%]{width:420px;margin:auto}.signUpUser[_ngcontent-%COMP%]{border-right:0}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"user-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownOfferId="0",this.company="",this.email="",this.phone="",this.country="",this.title="",this.description="",this.expectations="",this.other=""}ngOnInit(){this.getJobOffer()}onSignOut(){localStorage.clear()}getJobOffer(){let t=this;this.jobhubDataService.autofindJob().subscribe({next(i){t.company="",t.email="",t.phone="",t.country="",t.title="",t.description="",t.expectations="",t.other="",void 0===i.offer_id?(t.shownOfferId="0",t.showFail()):(t.unfail(),t.shownOfferId=i.offer_id,t.title=i.title,t.description=i.description,t.expectations=i.expectations,t.other=i.other,t.company=i.username,t.email=i.email,t.phone=i.phone_number,t.country=i.country)}})}showFail(){let t=document.getElementById("fail");null!==t&&(t.style.display="block"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="none"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="none"),t=document.getElementById("title-other"),null!==t&&(t.style.display="none")}unfail(){let t=document.getElementById("fail");null!==t&&(t.style.display="none"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="block"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="block"),t=document.getElementById("title-other"),null!==t&&(t.style.display="block")}postResult(t){this.jobhubDataService.sendResult(t,this.shownOfferId).subscribe({next(r){console.log(r)}})}onAccept(){"0"!==this.shownOfferId&&this.postResult(1),this.getJobOffer()}onDecline(){"0"!==this.shownOfferId&&this.postResult(0),this.getJobOffer()}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-user-main"]],decls:76,vars:8,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./user-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./resume-preview","aria-current","page",1,"nav-link"],["href","./user-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],[1,"job-description","col-md-6"],["id","title-desc"],["id","description"],["id","title-expectations"],["id","expectations"],["id","title-other"],["id","other"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./user-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit resume"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Company name"),y(),m(34,"h4"),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Email"),y(),m(39,"h4"),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Phone number"),y(),m(44,"h4"),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Country"),y(),m(49,"h4"),S(50),y(),y(),y(),m(51,"div",22),m(52,"h5"),S(53),y(),m(54,"p",23),S(55,"Description"),y(),m(56,"p",24),S(57),y(),m(58,"p",25),S(59,"Expectations"),y(),m(60,"p",26),S(61),y(),m(62,"p",27),S(63,"Other"),y(),m(64,"p",28),S(65),y(),m(66,"p",29),S(67,"No more job offers to show!"),y(),y(),y(),y(),y(),m(68,"div",15),m(69,"button",16),q("click",function(){return i.onAccept()}),Q(70,"i",30),y(),y(),y(),y(),m(71,"footer"),m(72,"a",31),m(73,"span",32),Q(74,"img",4),y(),y(),S(75," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.company),re(5),Wt(i.email),re(5),Wt(i.phone),re(5),Wt(i.country),re(3),Wt(i.title),re(4),$n(" ",i.description," "),re(4),$n(" ",i.expectations," "),re(4),$n(" ",i.other," "))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.job-description[_ngcontent-%COMP%]{padding:2em;height:100%;overflow:auto}.job-description[_ngcontent-%COMP%] > h4[_ngcontent-%COMP%]{text-align:center;margin-bottom:1em}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.poster-contact[_ngcontent-%COMP%]{padding-top:40px}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"company-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownCvId="0",this.name="",this.gender="",this.email="",this.phone="",this.about="",this.expirience="",this.projects="",this.skills="",this.education=""}ngOnInit(){this.getCV()}onSignOut(){localStorage.clear()}getCV(){let t=this;this.jobhubDataService.autofindCV().subscribe({next(i){if(t.name="",t.gender="",t.email="",t.phone="",t.about="",void 0===i.cv_id)t.shownCvId="0",t.showFail();else{t.unFail(),t.shownCvId=i.cv_id,t.name=i.first_name+" "+i.last_name,t.gender=t.upperCaseFirstLetter(i.gender.key.toLowerCase()),t.email=i.email,t.phone=i.phone_number,t.about=i.about;let r=!0;t.expirience="",i.experience.forEach(s=>{r||(t.expirience+=","),t.expirience+=" "+s.company,r=!1}),r=!0,t.projects="",i.projects.forEach(s=>{r||(t.projects+=","),t.projects+=" "+s.name,r=!1}),r=!0,t.skills="",i.skills.forEach(s=>{r||(t.skills+=","),t.skills+=" "+s.name,r=!1}),r=!0,t.education="",i.education.forEach(s=>{r||(t.education+=","),t.education+=" "+s.description,r=!1})}}})}showFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="none"),t=document.getElementById("projects"),null!==t&&(t.style.display="none"),t=document.getElementById("skills"),null!==t&&(t.style.display="none"),t=document.getElementById("education"),null!==t&&(t.style.display="none"),t=document.getElementById("fail"),null!==t&&(t.style.display="block")}unFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="block"),t=document.getElementById("projects"),null!==t&&(t.style.display="block"),t=document.getElementById("skills"),null!==t&&(t.style.display="block"),t=document.getElementById("education"),null!==t&&(t.style.display="block"),t=document.getElementById("fail"),null!==t&&(t.style.display="none")}postResult(t){this.jobhubDataService.sendResult(t,this.shownCvId).subscribe({next(i){console.log(i)}})}onAccept(){console.log(this.shownCvId),"0"!==this.shownCvId&&this.postResult(1),this.getCV()}onDecline(){"0"!==this.shownCvId&&this.postResult(0),this.getCV()}upperCaseFirstLetter(t){return t.charAt(0).toUpperCase()+t.slice(1)}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-company-main"]],decls:72,vars:9,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./company-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./job-preview","aria-current","page",1,"nav-link"],["href","./company-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],["id","name"],["id","gender"],["id","email"],["id","phone"],[1,"cv-text","col-md-6"],["id","about"],["id","experience"],["id","projects"],["id","skills"],["id","education"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./company-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit job offers"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Name"),y(),m(34,"h4",22),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Gender"),y(),m(39,"h4",23),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Email"),y(),m(44,"h4",24),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Phone number"),y(),m(49,"h4",25),S(50),y(),y(),y(),m(51,"div",26),m(52,"p",27),S(53),y(),m(54,"p",28),S(55),y(),m(56,"p",29),S(57),y(),m(58,"p",30),S(59),y(),m(60,"p",31),S(61),y(),m(62,"p",32),S(63,"No more resumes to show!"),y(),y(),y(),y(),y(),m(64,"div",15),m(65,"button",16),q("click",function(){return i.onAccept()}),Q(66,"i",33),y(),y(),y(),y(),m(67,"footer"),m(68,"a",34),m(69,"span",35),Q(70,"img",4),y(),y(),S(71," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.name),re(5),Wt(i.gender),re(5),Wt(i.email),re(5),Wt(i.phone),re(3),Wt(i.about),re(2),$n("Expirience: ",i.expirience,""),re(2),$n("Projects: ",i.projects,""),re(2),$n("Skills: ",i.skills,""),re(2),$n("Education: ",i.education,""))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{background-color:#fff;border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.cv-text[_ngcontent-%COMP%]{padding:60px 0 2em 2em;height:100%;overflow:auto}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"db",component:(()=>{class n{constructor(t){this.jobhubDataService=t}insert(){this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database populated")})}delete(){this.jobhubDataService.dbDelete().subscribe(()=>{alert("Database cleaned")})}reset(){this.jobhubDataService.dbDelete().subscribe(()=>{}),this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database reset")})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-db"]],decls:24,vars:0,consts:[[1,"adminSignIn"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off","action","/db-insert"],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],["method","post","autocomplete","off","action","/db-delete"],["method","post","autocomplete","off","action","/db-reset"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"div",0),Q(2,"img",1),y(),m(3,"div",2),m(4,"div",3),m(5,"div",4),m(6,"div",5),m(7,"form",6),m(8,"div",7),m(9,"button",8),q("click",function(){return i.insert()}),S(10," Insert Data "),y(),y(),y(),m(11,"form",9),m(12,"div",7),m(13,"button",8),q("click",function(){return i.delete()}),S(14," Erase Data "),y(),y(),y(),m(15,"form",10),m(16,"div",7),m(17,"button",8),q("click",function(){return i.reset()}),S(18," Reset Data "),y(),y(),y(),y(),y(),y(),y(),m(19,"footer"),m(20,"a",11),m(21,"span",12),Q(22,"img",1),y(),y(),S(23," \xa92021 "),y(),y())},directives:[Fo,Io,tr],styles:[".content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 150px - 125px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{display:block;margin:150px auto 0;height:125px}form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}.content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 100px - 100px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{height:100px;margin-top:100px}}"]}),n})()}];let S3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[Q0.forRoot(M3,{enableTracing:!0})],Q0]}),n})(),A3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["app-wrapper"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],styles:[""]}),n})();const ji=new fe(vr),T3={connector:()=>new Jt};function _E(n,e=T3){const{connector:t}=e;return je((i,r)=>{const s=t();Ye(n(function(n){return new fe(e=>n.subscribe(e))}(s))).subscribe(r),r.add(i.subscribe(s))})}function vE(n,e){return e?t=>No(e.pipe(Xt(1),je((n,e)=>{n.subscribe(new Ne(e,vr))})),t.pipe(vE(n))):He((t,i)=>n(t,i).pipe(Xt(1),function(n){return Z(()=>n)}(t)))}const _a="Service workers are disabled or not supported by this browser";class eu{constructor(e){if(this.serviceWorker=e,e){const i=Is(e,"controllerchange").pipe(Z(()=>e.controller)),s=No(ic(()=>j(e.controller)),i);this.worker=s.pipe(Yt(u=>!!u)),this.registration=this.worker.pipe(Sn(()=>e.getRegistration()));const c=Is(e,"message").pipe(Z(u=>u.data)).pipe(Yt(u=>u&&u.type)).pipe(function(n){return n?e=>_E(n)(e):e=>function(n,e){const t=V(n)?n:()=>n;return V(e)?_E(e,{connector:t}):i=>new XD(i,t)}(new Jt)(e)}());c.connect(),this.events=c}else this.worker=this.events=this.registration=(_a,ic(()=>fE(new Error("Service workers are disabled or not supported by this browser"))))}postMessage(e,t){return this.worker.pipe(Xt(1),Ot(i=>{i.postMessage(Object.assign({action:e},t))})).toPromise().then(()=>{})}postMessageWithOperation(e,t,i){const r=this.waitForOperationCompleted(i),s=this.postMessage(e,t);return Promise.all([s,r]).then(([,o])=>o)}generateNonce(){return Math.round(1e7*Math.random())}eventsOfType(e){let t;return t="string"==typeof e?i=>i.type===e:i=>e.includes(i.type),this.events.pipe(Yt(t))}nextEventOfType(e){return this.eventsOfType(e).pipe(Xt(1))}waitForOperationCompleted(e){return this.eventsOfType("OPERATION_COMPLETED").pipe(Yt(t=>t.nonce===e),Xt(1),Z(t=>{if(void 0!==t.result)return t.result;throw new Error(t.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}}let L3=(()=>{class n{constructor(t){if(this.sw=t,this.subscriptionChanges=new Jt,!t.isEnabled)return this.messages=ji,this.notificationClicks=ji,void(this.subscription=ji);this.messages=this.sw.eventsOfType("PUSH").pipe(Z(r=>r.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Z(r=>r.data)),this.pushManager=this.sw.registration.pipe(Z(r=>r.pushManager));const i=this.pushManager.pipe(Sn(r=>r.getSubscription()));this.subscription=Ea(i,this.subscriptionChanges)}get isEnabled(){return this.sw.isEnabled}requestSubscription(t){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const i={userVisibleOnly:!0};let r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),s=new Uint8Array(new ArrayBuffer(r.length));for(let o=0;o<r.length;o++)s[o]=r.charCodeAt(o);return i.applicationServerKey=s,this.pushManager.pipe(Sn(o=>o.subscribe(i)),Xt(1)).toPromise().then(o=>(this.subscriptionChanges.next(o),o))}unsubscribe(){return this.sw.isEnabled?this.subscription.pipe(Xt(1),Sn(i=>{if(null===i)throw new Error("Not subscribed to push notifications.");return i.unsubscribe().then(r=>{if(!r)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})})).toPromise():Promise.reject(new Error(_a))}decodeBase64(t){return atob(t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),V3=(()=>{class n{constructor(t){if(this.sw=t,!t.isEnabled)return this.versionUpdates=ji,this.available=ji,this.activated=ji,void(this.unrecoverable=ji);this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY"]),this.available=this.versionUpdates.pipe(Yt(i=>"VERSION_READY"===i.type),Z(i=>({type:"UPDATE_AVAILABLE",current:i.currentVersion,available:i.latestVersion}))),this.activated=this.sw.eventsOfType("UPDATE_ACTIVATED"),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}get isEnabled(){return this.sw.isEnabled}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:t},t)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:t},t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class $p{}const bE=new z("NGSW_REGISTER_SCRIPT");function B3(n,e,t,i){return()=>{if(!DC(i)||!("serviceWorker"in navigator)||!1===t.enabled)return;let s;if(navigator.serviceWorker.addEventListener("controllerchange",()=>{null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({action:"INITIALIZE"})}),"function"==typeof t.registrationStrategy)s=t.registrationStrategy();else{const[a,...l]=(t.registrationStrategy||"registerWhenStable:30000").split(":");switch(a){case"registerImmediately":s=j(null);break;case"registerWithDelay":s=CE(+l[0]||0);break;case"registerWhenStable":s=l[0]?Ea(DE(n),CE(+l[0])):DE(n);break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${t.registrationStrategy}`)}}n.get(ze).runOutsideAngular(()=>s.pipe(Xt(1)).subscribe(()=>navigator.serviceWorker.register(e,{scope:t.scope}).catch(a=>console.error("Service worker registration failed with:",a))))}}function CE(n){return j(null).pipe(function(n,e=gE){const t=mE(n,e);return vE(()=>t)}(n))}function DE(n){return n.get(hs).isStable.pipe(Yt(t=>t))}function j3(n,e){return new eu(DC(e)&&!1!==n.enabled?navigator.serviceWorker:void 0)}let H3=(()=>{class n{static register(t,i={}){return{ngModule:n,providers:[{provide:bE,useValue:t},{provide:$p,useValue:i},{provide:eu,useFactory:j3,deps:[$p,ds]},{provide:bo,useFactory:B3,deps:[rt,bE,$p,ds],multi:!0}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[L3,V3]}),n})();!function(n,e,t){"string"!=typeof e&&(t=e,e=n[T.LocaleId]),e=e.toLowerCase().replace(/_/g,"-"),rs[e]=n,t&&(rs[e][T.ExtraData]=t)}(XF,undefined,undefined);let U3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n,bootstrap:[A3]}),n.\u0275inj=vt({providers:[{provide:Il,useValue:"/"}],imports:[[jF,hN,dL,hL,S3,H3.register("ngsw-worker.js",{enabled:false,registrationStrategy:"registerWhenStable:30000"})]]}),n})();VF().bootstrapModule(U3).catch(n=>console.error(n))}},V=>{V(V.s=328)}]);
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        11. GET http://localhost:3000/manifest.webmanifest
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (249 bytes)
          GET http://localhost:3000/manifest.webmanifest HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          Referer: http://localhost:3000/
          
          
          Request body (0 bytes)
          Response
          Status line and header section (318 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"542-17e41c1b2eb"
          Content-Type: application/manifest+json
          Content-Length: 1346
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (1346 bytes)
          {
            "name": "JobHub",
            "short_name": "JobHub",
            "theme_color": "#1976d2",
            "background_color": "#fafafa",
            "display": "standalone",
            "scope": "./",
            "start_url": "./index.html",
            "icons": [
              {
                "src": "assets/icons/icon-72x72.png",
                "sizes": "72x72",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-96x96.png",
                "sizes": "96x96",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-128x128.png",
                "sizes": "128x128",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-144x144.png",
                "sizes": "144x144",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-152x152.png",
                "sizes": "152x152",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-192x192.png",
                "sizes": "192x192",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-384x384.png",
                "sizes": "384x384",
                "type": "image/png",
                "purpose": "maskable any"
              },
              {
                "src": "assets/icons/icon-512x512.png",
                "sizes": "512x512",
                "type": "image/png",
                "purpose": "maskable any"
              }
            ]
          }
          
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        12. GET http://localhost:3000/polyfills.2cae65b69551d3ee.js
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (359 bytes)
          GET http://localhost:3000/polyfills.2cae65b69551d3ee.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (332 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"90c4-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 37060
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (37060 bytes)
          "use strict";(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[429],{435:(we,ue,he)=>{he(583)},583:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"<root>",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(q,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,q,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;P<y.length;P++)y[P]._updateTaskCount(t.type,o)}}return I.__symbol__=u,I})();const g={name:"",onHasTask:(I,p,t,o)=>I.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,y,P):t.apply(o,y)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,y):t.callback.apply(o,y)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,y=o[p],P=o[p]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==H&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;p<I.length;p++){const t=I[p];try{t.zone.runTask(t,null,null)}catch(o){le.onUnhandledError(o)}}}le.microtaskDrainDone(),V=!1}}const z={name:"NO ZONE"},H="notScheduled",q="scheduling",O="scheduled",X="running",A="canceling",Y="unknown",v="microTask",M="macroTask",R="eventTask",K={},le={symbol:u,currentZoneFrame:()=>G,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe="undefined"!=typeof window,pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&void 0!==$.process&&"[object process]"==={}.toString.call($.process),He=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=void 0!==$.process&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;if(He&&i===pe&&"error"===e.type){const u=e;c=r&&r.call(this,u.message,u.filename,u.lineno,u.colno,u.error),!0===c&&e.preventDefault()}else c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let g=Ce[_];g||(g=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(_,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;r<n.length;r++)Xe(e,"on"+n[r],i);else{const r=[];for(const c in e)"on"==c.substr(0,2)&&r.push(c);for(let c=0;c<r.length;c++)Xe(e,r[c],i)}}const ne=x("originalInstance");function ve(e){const n=$[e];if(!n)return;$[x(e)]=n,$[e]=function(){const c=Ae(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ae($[e],n);const i=new n(function(){});let r;for(r in i)"XMLHttpRequest"===e&&"responseBlob"===r||function(c){"function"==typeof i[c]?$[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:he($[e].prototype,c,{set:function(u){"function"==typeof u?(this[ne][c]=Le(u,e+"."+c),ae(this[ne][c],u)):this[ne][c]=u},get:function(){return this[ne][c]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&($[e][r]=n[r])}function ce(e,n,i){let r=e;for(;r&&!r.hasOwnProperty(n);)r=de(r);!r&&e[n]&&(r=e);const c=x(n);let u=null;if(r&&(!(u=r[c])||!r.hasOwnProperty(c))&&(u=r[c]=r[n],Fe(r&&ue(r,n)))){const _=i(u,c,n);r[n]=function(){return _(this,arguments)},ae(r[n],u)}return u}function _t(e,n,i){let r=null;function c(u){const f=u.data;return f.args[f.cbIdx]=function(){u.invoke.apply(this,arguments)},r.apply(f.target,f.args),u}r=ce(e,n,u=>function(f,_){const g=i(f,_);return g.cbIdx>=0&&"function"==typeof _[g.cbIdx]?Me(g.name,_[g.cbIdx],g,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,je=!1;function mt(){if($e)return je;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch(e){}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch(s){}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k<C.length;)F(l,C[k++],C[k++],C[k++],C[k++]);if(0==C.length&&s==Y){l[d]=0;let k=a;try{throw new Error("Uncaught (in promise): "+function(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(b){k=b}g&&(k.throwOriginal=!0),k.rejection=a,k.promise=l,k.zone=n.current,k.task=n.currentTask,_.push(k),i.scheduleMicroTask()}}}return l}const te=f("rejectionHandledHandler");function re(l){if(0===l[d]){try{const s=n[te];s&&"function"==typeof s&&s.call(this,{rejection:l[L],promise:l})}catch(s){}l[d]=Y;for(let s=0;s<_.length;s++)l===_[s].promise&&_.splice(s,1)}}function F(l,s,a,h,w){re(l);const C=l[d],k=C?"function"==typeof h?h:V:"function"==typeof w?w:E;s.scheduleMicroTask("Promise.then",()=>{try{const b=l[L],N=!!a&&z===a[z];N&&(a[H]=b,a[q]=C);const j=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((j,U)=>{h=j,w=U}),k=2,b=0;const N=[];for(let j of s){B(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){me=!1}const Et={useG:!0},ee={},Je={},Ke=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),g="."+r+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}},Z=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][se]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}};function B(E,d){if(!E)return!1;let L=!0;d&&void 0!==d.useG&&(L=d.useG);const z=d&&d.vh;let H=!0;d&&void 0!==d.chkDup&&(H=d.chkDup);let q=!1;d&&void 0!==d.rt&&(q=d.rt);let O=E;for(;O&&!O.hasOwnProperty(r);)O=de(O);if(!O&&E[r]&&(O=E),!O||O[_])return!1;const X=d&&d.eventNameToString,A={},Y=O[_]=O[r],v=O[x(c)]=O[c],M=O[x(u)]=O[u],R=O[x(f)]=O[f];let K;function le(s,a){return!me&&"object"==typeof s&&s?!!s.capture:me&&a?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}d&&d.prepend&&(K=O[x(d.prepend)]=O[d.prepend]);const p=L?function(s){if(!A.isExisting)return Y.call(A.target,A.eventName,A.capture?Z:D,A.options)}:function(s){return Y.call(A.target,A.eventName,s.invoke,A.options)},t=L?function(s){if(!s.isRemoved){const a=ee[s.eventName];let h;a&&(h=a[s.capture?se:ie]);const w=h&&s.target[h];if(w)for(let C=0;C<w.length;C++)if(w[C]===s){w.splice(C,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[h]=null);break}}if(s.allRemoved)return v.call(s.target,s.eventName,s.capture?Z:D,s.options)}:function(s){return v.call(s.target,s.eventName,s.invoke,s.options)},y=d&&d.diff?d.diff:function(s,a){const h=typeof a;return"function"===h&&s.callback===a||"object"===h&&s.originalDelegate===a},P=Zone[x("UNPATCHED_EVENTS")],J=e[x("PASSIVE_EVENTS")],l=function(s,a,h,w,C=!1,k=!1){return function(){const b=this||e;let N=arguments[0];d&&d.transferEventName&&(N=d.transferEventName(N));let j=arguments[1];if(!j)return s.apply(this,arguments);if(Re&&"uncaughtException"===N)return s.apply(this,arguments);let U=!1;if("function"!=typeof j){if(!j.handleEvent)return s.apply(this,arguments);U=!0}if(z&&!z(s,j,b,arguments))return;const Q=me&&!!J&&-1!==J.indexOf(N),oe=le(arguments[2],Q);if(P)for(let _e=0;_e<P.length;_e++)if(N===P[_e])return Q?s.call(b,N,j,oe):s.apply(this,arguments);const Ge=!!oe&&("boolean"==typeof oe||oe.capture),st=!(!oe||"object"!=typeof oe)&&oe.once,At=Zone.current;let ze=ee[N];ze||(Qe(N,X),ze=ee[N]);const it=ze[Ge?se:ie];let De,ge=b[it],ct=!1;if(ge){if(ct=!0,H)for(let _e=0;_e<ge.length;_e++)if(y(ge[_e],j))return}else ge=b[it]=[];const at=b.constructor.name,lt=Je[at];lt&&(De=lt[N]),De||(De=at+a+(X?X(N):N)),A.options=oe,st&&(A.options.once=!1),A.target=b,A.capture=Ge,A.eventName=N,A.isExisting=ct;const be=L?Et:void 0;be&&(be.taskData=A);const fe=At.scheduleEventTask(De,j,be,h,w);return A.target=null,be&&(be.taskData=null),st&&(oe.once=!0),!me&&"boolean"==typeof fe.options||(fe.options=oe),fe.target=b,fe.capture=Ge,fe.eventName=N,U&&(fe.originalDelegate=j),k?ge.unshift(fe):ge.push(fe),C?b:void 0}};return O[r]=l(Y,g,p,t,q),K&&(O.prependListener=l(K,".prependListener:",function(s){return K.call(A.target,A.eventName,s.invoke,A.options)},t,q,!0)),O[c]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=arguments[2],w=!!h&&("boolean"==typeof h||h.capture),C=arguments[1];if(!C)return v.apply(this,arguments);if(z&&!z(v,C,s,arguments))return;const k=ee[a];let b;k&&(b=k[w?se:ie]);const N=b&&s[b];if(N)for(let j=0;j<N.length;j++){const U=N[j];if(y(U,C))return N.splice(j,1),U.isRemoved=!0,0===N.length&&(U.allRemoved=!0,s[b]=null,"string"==typeof a)&&(s[ke+"ON_PROPERTY"+a]=null),U.zone.cancelTask(U),q?s:void 0}return v.apply(this,arguments)},O[u]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=[],w=et(s,X?X(a):a);for(let C=0;C<w.length;C++){const k=w[C];h.push(k.originalDelegate?k.originalDelegate:k.callback)}return h},O[f]=function(){const s=this||e;let a=arguments[0];if(a){d&&d.transferEventName&&(a=d.transferEventName(a));const h=ee[a];if(h){const k=s[h[ie]],b=s[h[se]];if(k){const N=k.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}if(b){const N=b.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}}}else{const h=Object.keys(s);for(let w=0;w<h.length;w++){const k=Ke.exec(h[w]);let b=k&&k[1];b&&"removeListener"!==b&&this[f].call(this,b)}this[f].call(this,"removeListener")}if(q)return this},ae(O[r],Y),ae(O[c],v),R&&ae(O[f],R),M&&ae(O[u],M),!0}let V=[];for(let E=0;E<n.length;E++)V[E]=B(n[E],i);return V}function et(e,n){if(!n){const u=[];for(let f in e){const _=Ke.exec(f);let g=_&&_[1];if(g&&(!n||g===n)){const T=e[f];if(T)for(let m=0;m<T.length;m++)u.push(T[m])}}return u}let i=ee[n];i||(Qe(n),i=ee[n]);const r=e[i[ie]],c=e[i[se]];return r?c?r.concat(c):r.slice():c?c.slice():[]}function yt(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",r=>function(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,g,T){return g&&g.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=g.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(g.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:Je,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:He,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ye(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,g);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ye(e,n,i,"Timeout"),ye(e,n,i,"Interval"),ye(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;r<i.length;r++)ce(e,i[r],(u,f,_)=>function(g,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function(e,n){n.patchEventPrototype(e,n)})(e,i),function(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g<i.length;g++){const T=i[g],D=f+(T+u),Z=f+(T+c);r[T]={},r[T][u]=D,r[T][c]=Z}const _=e.EventTarget;_&&_.prototype&&n.patchEventTarget(e,[_&&_.prototype])}(e,i);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&i.patchEventTarget(e,[r.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i="undefined"!=typeof WebSocket,r=n.__Zone_ignore_on_properties;if(He){const f=window,_=function(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),void 0!==f.SVGElement&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const g=f.HTMLMarqueeElement;g&&W(g.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),"undefined"!=typeof IDBIndex&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const K=R[c];Z||(Z=R[Ze],B=R[Ie]),K&&B.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;I<F.length;I++)F[I]===v&&F.splice(I,1);!M.aborted&&v.state===E&&re.call(v)},te.push(v)}else v.invoke()}else!M.aborted&&!1===R[u]&&(R[_]=!0)};return Z.call(R,V,le),R[i]||(R[i]=v),A.apply(R,M.args),R[u]=!0,v}function L(){}function z(v){const M=v.data;return M.aborted=!0,Y.apply(M.target,M.args)}const H=ce(S,"open",()=>function(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const i=e.constructor.name;for(let r=0;r<n.length;r++){const c=n[r],u=e[c];if(u){if(!Fe(ue(e,c)))continue;e[c]=(_=>{const g=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(g,_),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const g=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},we=>{we(we.s=435)}]);
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        13. GET http://localhost:3000/resume-preview
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (210 bytes)
          GET http://localhost:3000/resume-preview HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        14. GET http://localhost:3000/robots.txt
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (206 bytes)
          GET http://localhost:3000/robots.txt HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        15. GET http://localhost:3000/runtime.9d95bcda8c614efe.js
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (357 bytes)
          GET http://localhost:3000/runtime.9d95bcda8c614efe.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (330 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"429-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 1065
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (1065 bytes)
          (()=>{"use strict";var e,b={},_={};function n(e){var a=_[e];if(void 0!==a)return a.exports;var r=_[e]={exports:{}};return b[e](r,r.exports,n),r.exports}n.m=b,e=[],n.O=(a,r,t,u)=>{if(!r){var o=1/0;for(f=0;f<e.length;f++){for(var[r,t,u]=e[f],s=!0,l=0;l<r.length;l++)(!1&u||o>=u)&&Object.keys(n.O).every(i=>n.O[i](r[l]))?r.splice(l--,1):(s=!1,u<o&&(o=u));if(s){e.splice(f--,1);var c=t();void 0!==c&&(a=c)}}return a}u=u||0;for(var f=e.length;f>0&&e[f-1][2]>u;f--)e[f]=e[f-1];e[f]=[r,t,u]},n.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return n.d(a,{a}),a},n.d=(e,a)=>{for(var r in a)n.o(a,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:a[r]})},n.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),(()=>{var e={666:0};n.O.j=t=>0===e[t];var a=(t,u)=>{var l,c,[f,o,s]=u,v=0;if(f.some(h=>0!==e[h])){for(l in o)n.o(o,l)&&(n.m[l]=o[l]);if(s)var d=s(n)}for(t&&t(u);v<f.length;v++)n.o(e,c=f[v])&&e[c]&&e[c][0](),e[f[v]]=0;return n.O(d)},r=self.webpackChunkJobHub=self.webpackChunkJobHub||[];r.forEach(a.bind(null,0)),r.push=a.bind(null,r.push.bind(r))})()})();
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        16. GET http://localhost:3000/sign-in
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (203 bytes)
          GET http://localhost:3000/sign-in HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        17. GET http://localhost:3000/sign-up-company
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (211 bytes)
          GET http://localhost:3000/sign-up-company HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        18. GET http://localhost:3000/sign-up-user
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/sign-up-user HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        19. GET http://localhost:3000/sitemap.xml
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (207 bytes)
          GET http://localhost:3000/sitemap.xml HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:28:49 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

        20. GET http://localhost:3000/token-decode
          Alert tags
          Alert description

          The Anti-MIME-Sniffing header X-Content-Type-Options was not set to 'nosniff'. This allows older versions of Internet Explorer and Chrome to perform MIME-sniffing on the response body, potentially causing the response body to be interpreted and displayed as a content type other than the declared content type. Current (early 2014) and legacy versions of Firefox will use the declared content type (if one is set), rather than performing MIME-sniffing.

          Other info

          This issue still applies to error type pages (401, 403, 500, etc.) as those pages are often still affected by injection issues, in which case there is still concern for browsers sniffing pages away from their actual content type.

          At "High" threshold this scan rule will not alert on client or server error responses.

          Request
          Request line and header section (208 bytes)
          GET http://localhost:3000/token-decode HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0
          Pragma: no-cache
          Cache-Control: no-cache
          
          
          Request body (0 bytes)
          Response
          Status line and header section (317 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:12:00 GMT
          ETag: W/"b76-17e41c1b357"
          Content-Type: text/html; charset=UTF-8
          Content-Length: 2934
          Date: Mon, 10 Jan 2022 02:25:17 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (2934 bytes)
          <!DOCTYPE html><html lang="en"><head>
          		<meta charset="UTF-8">
          		<meta http-equiv="X-UA-Compatible" content="IE=edge">
          		<meta name="viewport" content="width=device-width, initial-scale=1.0">
          		<title>JobHub</title>
          
          		<link rel="shortcut icon" href="./assets/images/favicon.ico" type="image/x-icon">
          
          		<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
          		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer">
          
          		<style>@import url('https://fonts.googleapis.com/css2?family=Inconsolata:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Oxygen:wght@300;400;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Righteous&display=swap');:root{--fontFamily:'Oxygen', sans-serif;--logoFontFamily:'Righteous', cursive;--fontSize:100%;--logoFontSize:175%;--smallFontSize:85%;--grayBackground:#eaeaea;--borderColor:#ced4da;--primaryFontColor:#252a34;--secondaryFontColor:#ced4da;--primaryColor:#16396b;--primaryColorLow:#16396b4d;--secondaryColor:#ea2e64;--secondaryColorLow:#ea2e644d;--backgroundColor:#ffffff;--borderRadiusList:2px;--borderRadiusImg:50%;--borderRadius:25px;--standardHeight:42px;--headerHeight:100px;--footerHeight:50px;--cardSize:70vh}body{font-family:var(--fontFamily) !important;background-color:var(--backgroundColor)}</style><link rel="stylesheet" href="/assets/stylesheets/style.css" media="print" onload="this.media='all'"><noscript><link rel="stylesheet" href="/assets/stylesheets/style.css"></noscript>
          
          		<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
          		<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js" integrity="sha512-GMGzUEevhWh8Tc/njS0bDpwgxdCJLQBWG3Z2Ct+JGOpVnEmjvNx6ts4v6A2XJf1HOrtOsfhv3hBKpK9kE5z8AQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>
          		<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
          	  <link rel="manifest" href="manifest.webmanifest">
            <meta name="theme-color" content="#1976d2">
          <link rel="stylesheet" href="styles.ef46db3751d8e999.css"></head>
          	<body>
          		<!-- <div>lol</div> -->
          		<app-wrapper></app-wrapper>
          	  <noscript>Please enable JavaScript to continue using this application.</noscript>
          <script src="runtime.9d95bcda8c614efe.js" type="module"></script><script src="polyfills.2cae65b69551d3ee.js" type="module"></script><script src="main.488cd5f42661da5d.js" type="module"></script>
          
          </body></html>
          Parameter
          X-Content-Type-Options
          Solution

          Ensure that the application/web server sets the Content-Type header appropriately, and that it sets the X-Content-Type-Options header to 'nosniff' for all web pages.

          If possible, ensure that the end user uses a standards-compliant and modern web browser that does not perform MIME-sniffing at all, or that can be directed by the web application/web server to not perform MIME-sniffing.

  3. Risk=Low, Confidence=Low (4)

    1. https://cdn.jsdelivr.net (4)

      1. Timestamp Disclosure - Unix (4)
        1. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
          Alert tags
          Alert description

          A timestamp was disclosed by the application/web server - Unix

          Other info

          23198754, which evaluates to: 1970-09-26 13:05:54

          Request
          Request line and header section (426 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (884 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"28021-7Ba9Gb9K6bwuIzasQJpQO7varK0"
          X-Served-By: cache-fra19180-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586870
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d449aefc5d-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (163873 bytes)
          @charset "UTF-8";/*!
           * Bootstrap v5.1.3 (https://getbootstrap.com/)
           * Copyright 2011-2021 The Bootstrap Authors
           * Copyright 2011-2021 Twitter, Inc.
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
           */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
          /*# sourceMappingURL=bootstrap.min.css.map */
          Evidence
          23198754
          Solution

          Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

        2. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
          Alert tags
          Alert description

          A timestamp was disclosed by the application/web server - Unix

          Other info

          23212529, which evaluates to: 1970-09-26 16:55:29

          Request
          Request line and header section (426 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (884 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"28021-7Ba9Gb9K6bwuIzasQJpQO7varK0"
          X-Served-By: cache-fra19180-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586870
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d449aefc5d-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (163873 bytes)
          @charset "UTF-8";/*!
           * Bootstrap v5.1.3 (https://getbootstrap.com/)
           * Copyright 2011-2021 The Bootstrap Authors
           * Copyright 2011-2021 Twitter, Inc.
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
           */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
          /*# sourceMappingURL=bootstrap.min.css.map */
          Evidence
          23212529
          Solution

          Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

        3. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
          Alert tags
          Alert description

          A timestamp was disclosed by the application/web server - Unix

          Other info

          33333333, which evaluates to: 1971-01-21 20:15:33

          Request
          Request line and header section (426 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (884 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"28021-7Ba9Gb9K6bwuIzasQJpQO7varK0"
          X-Served-By: cache-fra19180-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586870
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d449aefc5d-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (163873 bytes)
          @charset "UTF-8";/*!
           * Bootstrap v5.1.3 (https://getbootstrap.com/)
           * Copyright 2011-2021 The Bootstrap Authors
           * Copyright 2011-2021 Twitter, Inc.
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
           */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
          /*# sourceMappingURL=bootstrap.min.css.map */
          Evidence
          33333333
          Solution

          Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

        4. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css
          Alert tags
          Alert description

          A timestamp was disclosed by the application/web server - Unix

          Other info

          66666667, which evaluates to: 1972-02-11 15:31:07

          Request
          Request line and header section (426 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: text/css,*/*;q=0.1
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: style
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (884 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Content-Type: text/css; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"28021-7Ba9Gb9K6bwuIzasQJpQO7varK0"
          X-Served-By: cache-fra19180-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586870
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d449aefc5d-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (163873 bytes)
          @charset "UTF-8";/*!
           * Bootstrap v5.1.3 (https://getbootstrap.com/)
           * Copyright 2011-2021 The Bootstrap Authors
           * Copyright 2011-2021 Twitter, Inc.
           * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
           */:root{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-body-color-rgb:33,37,41;--bs-body-bg-rgb:255,255,255;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-bg:#fff}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;background-color:currentColor;border:0;opacity:.25}hr:not([size]){height:1px}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[data-bs-original-title],abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.2em;background-color:#fcf8e3}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#0d6efd;text-decoration:underline}a:hover{color:#0a58ca}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em;direction:ltr;unicode-bidi:bidi-override}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:#d63384;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:.875em;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:1em;font-weight:700}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:#6c757d;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]::-webkit-calendar-picker-indicator{display:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;font-size:calc(1.275rem + .3vw);line-height:inherit}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit}::file-selector-button{font:inherit}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:calc(1.625rem + 4.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-size:calc(1.575rem + 3.9vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-size:calc(1.525rem + 3.3vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-size:calc(1.475rem + 2.7vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-size:calc(1.425rem + 2.1vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-size:calc(1.375rem + 1.5vw);font-weight:300;line-height:1.2}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:#6c757d}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:var(--bs-gutter-x,.75rem);padding-left:var(--bs-gutter-x,.75rem);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0%}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.6666666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0%}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.6666666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0%}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.6666666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0%}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.6666666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0%}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0%}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-bg:transparent;--bs-table-accent-bg:transparent;--bs-table-striped-color:#212529;--bs-table-striped-bg:rgba(0, 0, 0, 0.05);--bs-table-active-color:#212529;--bs-table-active-bg:rgba(0, 0, 0, 0.1);--bs-table-hover-color:#212529;--bs-table-hover-bg:rgba(0, 0, 0, 0.075);width:100%;margin-bottom:1rem;color:#212529;vertical-align:top;border-color:#dee2e6}.table>:not(caption)>*>*{padding:.5rem .5rem;background-color:var(--bs-table-bg);border-bottom-width:1px;box-shadow:inset 0 0 0 9999px var(--bs-table-accent-bg)}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table>:not(:first-child){border-top:2px solid currentColor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:1px 0}.table-bordered>:not(caption)>*>*{border-width:0 1px}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-accent-bg:var(--bs-table-striped-bg);color:var(--bs-table-striped-color)}.table-active{--bs-table-accent-bg:var(--bs-table-active-bg);color:var(--bs-table-active-color)}.table-hover>tbody>tr:hover>*{--bs-table-accent-bg:var(--bs-table-hover-bg);color:var(--bs-table-hover-color)}.table-primary{--bs-table-bg:#cfe2ff;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:#000;border-color:#bacbe6}.table-secondary{--bs-table-bg:#e2e3e5;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:#000;border-color:#cbccce}.table-success{--bs-table-bg:#d1e7dd;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:#000;border-color:#bcd0c7}.table-info{--bs-table-bg:#cff4fc;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:#000;border-color:#badce3}.table-warning{--bs-table-bg:#fff3cd;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:#000;border-color:#e6dbb9}.table-danger{--bs-table-bg:#f8d7da;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:#000;border-color:#dfc2c4}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:#000;border-color:#dfe0e1}.table-dark{--bs-table-bg:#212529;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:#fff;border-color:#373b3e}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:#6c757d}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#212529;background-color:#fff;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{height:1.5em}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#dde0e3}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:#212529;background-color:#e9ecef;pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:1px;border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#dde0e3}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + 2px)}textarea.form-control-sm{min-height:calc(1.5em + .5rem + 2px)}textarea.form-control-lg{min-height:calc(1.5em + 1rem + 2px)}.form-control-color{width:3rem;height:auto;padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{height:1.5em;border-radius:.25rem}.form-control-color::-webkit-color-swatch{height:1.5em;border-radius:.25rem}.form-select{display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;-moz-padding-start:calc(0.75rem - 3px);font-size:1rem;font-weight:400;line-height:1.5;color:#212529;background-color:#fff;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:#e9ecef}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #212529}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:.2rem}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:.3rem}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-input{width:1em;height:1em;margin-top:.25em;vertical-align:top;background-color:#fff;background-repeat:no-repeat;background-position:center;background-size:contain;border:1px solid rgba(0,0,0,.25);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{width:2em;margin-left:-2.5em;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}.form-range{width:100%;height:1.5rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.form-range:disabled::-moz-range-thumb{background-color:#adb5bd}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-select{height:calc(3.5rem + 2px);line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;height:100%;padding:1rem .75rem;pointer-events:none;border:1px solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control{padding:1rem .75rem}.form-floating>.form-control::-moz-placeholder{color:transparent}.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{opacity:.65;transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus{z-index:3}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:3}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#198754}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(25,135,84,.9);border-radius:.25rem}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#198754;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:#198754}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:#198754;box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#198754}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#198754}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#198754}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group .form-control.is-valid,.input-group .form-select.is-valid,.was-validated .input-group .form-control:valid,.was-validated .input-group .form-select:valid{z-index:1}.input-group .form-control.is-valid:focus,.input-group .form-select.is-valid:focus,.was-validated .input-group .form-control:valid:focus,.was-validated .input-group .form-select:valid:focus{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:#dc3545}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{padding-right:4.125rem;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e"),url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23dc3545'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:#dc3545}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:#dc3545}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group .form-control.is-invalid,.input-group .form-select.is-invalid,.was-validated .input-group .form-control:invalid,.was-validated .input-group .form-select:invalid{z-index:2}.input-group .form-control.is-invalid:focus,.input-group .form-select.is-invalid:focus,.was-validated .input-group .form-control:invalid:focus,.was-validated .input-group .form-select:invalid:focus{z-index:3}.btn{display:inline-block;font-weight:400;line-height:1.5;color:#212529;text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529}.btn-check:focus+.btn,.btn:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{pointer-events:none;opacity:.65}.btn-primary{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-primary:hover{color:#fff;background-color:#0b5ed7;border-color:#0a58ca}.btn-check:focus+.btn-primary,.btn-primary:focus{color:#fff;background-color:#0b5ed7;border-color:#0a58ca;box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-check:active+.btn-primary,.btn-check:checked+.btn-primary,.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0a58ca;border-color:#0a53be}.btn-check:active+.btn-primary:focus,.btn-check:checked+.btn-primary:focus,.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(49,132,253,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5c636a;border-color:#565e64}.btn-check:focus+.btn-secondary,.btn-secondary:focus{color:#fff;background-color:#5c636a;border-color:#565e64;box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-check:active+.btn-secondary,.btn-check:checked+.btn-secondary,.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#565e64;border-color:#51585e}.btn-check:active+.btn-secondary:focus,.btn-check:checked+.btn-secondary:focus,.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-success{color:#fff;background-color:#198754;border-color:#198754}.btn-success:hover{color:#fff;background-color:#157347;border-color:#146c43}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#157347;border-color:#146c43;box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-check:active+.btn-success,.btn-check:checked+.btn-success,.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#146c43;border-color:#13653f}.btn-check:active+.btn-success:focus,.btn-check:checked+.btn-success:focus,.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(60,153,110,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#198754;border-color:#198754}.btn-info{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-info:hover{color:#000;background-color:#31d2f2;border-color:#25cff2}.btn-check:focus+.btn-info,.btn-info:focus{color:#000;background-color:#31d2f2;border-color:#25cff2;box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#000;background-color:#3dd5f3;border-color:#25cff2}.btn-check:active+.btn-info:focus,.btn-check:checked+.btn-info:focus,.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(11,172,204,.5)}.btn-info.disabled,.btn-info:disabled{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-warning{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#000;background-color:#ffca2c;border-color:#ffc720}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#000;background-color:#ffca2c;border-color:#ffc720;box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#000;background-color:#ffcd39;border-color:#ffc720}.btn-check:active+.btn-warning:focus,.btn-check:checked+.btn-warning:focus,.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(217,164,6,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#bb2d3b;border-color:#b02a37}.btn-check:focus+.btn-danger,.btn-danger:focus{color:#fff;background-color:#bb2d3b;border-color:#b02a37;box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-check:active+.btn-danger,.btn-check:checked+.btn-danger,.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#b02a37;border-color:#a52834}.btn-check:active+.btn-danger:focus,.btn-check:checked+.btn-danger:focus,.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:focus+.btn-light,.btn-light:focus{color:#000;background-color:#f9fafb;border-color:#f9fafb;box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#000;background-color:#f9fafb;border-color:#f9fafb}.btn-check:active+.btn-light:focus,.btn-check:checked+.btn-light:focus,.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(211,212,213,.5)}.btn-light.disabled,.btn-light:disabled{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-dark{color:#fff;background-color:#212529;border-color:#212529}.btn-dark:hover{color:#fff;background-color:#1c1f23;border-color:#1a1e21}.btn-check:focus+.btn-dark,.btn-dark:focus{color:#fff;background-color:#1c1f23;border-color:#1a1e21;box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-check:active+.btn-dark,.btn-check:checked+.btn-dark,.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1a1e21;border-color:#191c1f}.btn-check:active+.btn-dark:focus,.btn-check:checked+.btn-dark:focus,.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .25rem rgba(66,70,73,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#212529;border-color:#212529}.btn-outline-primary{color:#0d6efd;border-color:#0d6efd}.btn-outline-primary:hover{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:focus+.btn-outline-primary,.btn-outline-primary:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-check:active+.btn-outline-primary,.btn-check:checked+.btn-outline-primary,.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-check:active+.btn-outline-primary:focus,.btn-check:checked+.btn-outline-primary:focus,.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .25rem rgba(13,110,253,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#0d6efd;background-color:transparent}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:focus+.btn-outline-secondary,.btn-outline-secondary:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-check:active+.btn-outline-secondary,.btn-check:checked+.btn-outline-secondary,.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-check:active+.btn-outline-secondary:focus,.btn-check:checked+.btn-outline-secondary:focus,.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .25rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#198754;border-color:#198754}.btn-outline-success:hover{color:#fff;background-color:#198754;border-color:#198754}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-check:active+.btn-outline-success,.btn-check:checked+.btn-outline-success,.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#198754;border-color:#198754}.btn-check:active+.btn-outline-success:focus,.btn-check:checked+.btn-outline-success:focus,.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .25rem rgba(25,135,84,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#198754;background-color:transparent}.btn-outline-info{color:#0dcaf0;border-color:#0dcaf0}.btn-outline-info:hover{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-check:active+.btn-outline-info,.btn-check:checked+.btn-outline-info,.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#000;background-color:#0dcaf0;border-color:#0dcaf0}.btn-check:active+.btn-outline-info:focus,.btn-check:checked+.btn-outline-info:focus,.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .25rem rgba(13,202,240,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#0dcaf0;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-check:active+.btn-outline-warning,.btn-check:checked+.btn-outline-warning,.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#000;background-color:#ffc107;border-color:#ffc107}.btn-check:active+.btn-outline-warning:focus,.btn-check:checked+.btn-outline-warning:focus,.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .25rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:focus+.btn-outline-danger,.btn-outline-danger:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-check:active+.btn-outline-danger,.btn-check:checked+.btn-outline-danger,.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-check:active+.btn-outline-danger:focus,.btn-check:checked+.btn-outline-danger:focus,.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .25rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-check:active+.btn-outline-light,.btn-check:checked+.btn-outline-light,.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#000;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:active+.btn-outline-light:focus,.btn-check:checked+.btn-outline-light:focus,.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .25rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-dark{color:#212529;border-color:#212529}.btn-outline-dark:hover{color:#fff;background-color:#212529;border-color:#212529}.btn-check:focus+.btn-outline-dark,.btn-outline-dark:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-check:active+.btn-outline-dark,.btn-check:checked+.btn-outline-dark,.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#212529;border-color:#212529}.btn-check:active+.btn-outline-dark:focus,.btn-check:checked+.btn-outline-dark:focus,.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .25rem rgba(33,37,41,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#212529;background-color:transparent}.btn-link{font-weight:400;color:#0d6efd;text-decoration:underline}.btn-link:hover{color:#0a58ca}.btn-link.disabled,.btn-link:disabled{color:#6c757d}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropend,.dropstart,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;z-index:1000;display:none;min-width:10rem;padding:.5rem 0;margin:0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:.125rem}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid rgba(0,0,0,.15)}.dropdown-item{display:block;width:100%;padding:.25rem 1rem;clear:both;font-weight:400;color:#212529;text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#1e2125;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#0d6efd}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1rem;color:#212529}.dropdown-menu-dark{color:#dee2e6;background-color:#343a40;border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item{color:#dee2e6}.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu-dark .dropdown-item:hover{color:#fff;background-color:rgba(255,255,255,.15)}.dropdown-menu-dark .dropdown-item.active,.dropdown-menu-dark .dropdown-item:active{color:#fff;background-color:#0d6efd}.dropdown-menu-dark .dropdown-item.disabled,.dropdown-menu-dark .dropdown-item:disabled{color:#adb5bd}.dropdown-menu-dark .dropdown-divider{border-color:rgba(0,0,0,.15)}.dropdown-menu-dark .dropdown-item-text{color:#dee2e6}.dropdown-menu-dark .dropdown-header{color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn~.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem;color:#0d6efd;text-decoration:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:#0a58ca}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;background:0 0;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{background:0 0;border:0;border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#0d6efd}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;text-decoration:none;white-space:nowrap}.navbar-nav{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{flex-basis:100%;flex-grow:1;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem;transition:box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 .25rem}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas-header{display:none}.navbar-expand-sm .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-sm .offcanvas-bottom,.navbar-expand-sm .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas-header{display:none}.navbar-expand-md .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-md .offcanvas-bottom,.navbar-expand-md .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas-header{display:none}.navbar-expand-lg .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-lg .offcanvas-bottom,.navbar-expand-lg .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas-header{display:none}.navbar-expand-xl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xl .offcanvas-bottom,.navbar-expand-xl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand-xxl .offcanvas-bottom,.navbar-expand-xxl .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas-header{display:none}.navbar-expand .offcanvas{position:inherit;bottom:0;z-index:1000;flex-grow:1;visibility:visible!important;background-color:transparent;border-right:0;border-left:0;transition:none;transform:none}.navbar-expand .offcanvas-bottom,.navbar-expand .offcanvas-top{height:auto;border-top:0;border-bottom:0}.navbar-expand .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.55)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.55);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.55)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.55)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.55)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:flex;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:1rem 1rem}.card-title{margin-bottom:.5rem}.card-subtitle{margin-top:-.25rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:1rem}.card-header{padding:.5rem 1rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.5rem 1rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.5rem;margin-bottom:-.5rem;margin-left:-.5rem;border-bottom:0}.card-header-pills{margin-right:-.5rem;margin-left:-.5rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-group>.card{margin-bottom:.75rem}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:1rem 1.25rem;font-size:1rem;color:#212529;text-align:left;background-color:#fff;border:0;border-radius:0;overflow-anchor:none;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,border-radius .15s ease}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:#0c63e4;background-color:#e7f1ff;box-shadow:inset 0 -1px 0 rgba(0,0,0,.125)}.accordion-button:not(.collapsed)::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%230c63e4'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");transform:rotate(-180deg)}.accordion-button::after{flex-shrink:0;width:1.25rem;height:1.25rem;margin-left:auto;content:"";background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212529'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-size:1.25rem;transition:transform .2s ease-in-out}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.accordion-header{margin-bottom:0}.accordion-item{background-color:#fff;border:1px solid rgba(0,0,0,.125)}.accordion-item:first-of-type{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.accordion-item:first-of-type .accordion-button{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-item:last-of-type .accordion-button.collapsed{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.accordion-item:last-of-type .accordion-collapse{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.accordion-body{padding:1rem 1.25rem}.accordion-flush .accordion-collapse{border-width:0}.accordion-flush .accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush .accordion-item:first-child{border-top:0}.accordion-flush .accordion-item:last-child{border-bottom:0}.accordion-flush .accordion-item .accordion-button{border-radius:0}.breadcrumb{display:flex;flex-wrap:wrap;padding:0 0;margin-bottom:1rem;list-style:none}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;color:#0d6efd;text-decoration:none;background-color:#fff;border:1px solid #dee2e6;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:#0a58ca;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;color:#0a58ca;background-color:#e9ecef;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.page-item:not(:first-child) .page-link{margin-left:-1px}.page-item.active .page-link{z-index:3;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;background-color:#fff;border-color:#dee2e6}.page-link{padding:.375rem .75rem}.page-item:first-child .page-link{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.35em .65em;font-size:.75em;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{position:relative;padding:1rem 1rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{color:#084298;background-color:#cfe2ff;border-color:#b6d4fe}.alert-primary .alert-link{color:#06357a}.alert-secondary{color:#41464b;background-color:#e2e3e5;border-color:#d3d6d8}.alert-secondary .alert-link{color:#34383c}.alert-success{color:#0f5132;background-color:#d1e7dd;border-color:#badbcc}.alert-success .alert-link{color:#0c4128}.alert-info{color:#055160;background-color:#cff4fc;border-color:#b6effb}.alert-info .alert-link{color:#04414d}.alert-warning{color:#664d03;background-color:#fff3cd;border-color:#ffecb5}.alert-warning .alert-link{color:#523e02}.alert-danger{color:#842029;background-color:#f8d7da;border-color:#f5c2c7}.alert-danger .alert-link{color:#6a1a21}.alert-light{color:#636464;background-color:#fefefe;border-color:#fdfdfe}.alert-light .alert-link{color:#4f5050}.alert-dark{color:#141619;background-color:#d3d3d4;border-color:#bcbebf}.alert-dark .alert-link{color:#101214}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#0d6efd;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.list-group{display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>li::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.5rem 1rem;color:#212529;text-decoration:none;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#0d6efd;border-color:#0d6efd}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#084298;background-color:#cfe2ff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#084298;background-color:#bacbe6}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#084298;border-color:#084298}.list-group-item-secondary{color:#41464b;background-color:#e2e3e5}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#41464b;background-color:#cbccce}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#41464b;border-color:#41464b}.list-group-item-success{color:#0f5132;background-color:#d1e7dd}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#0f5132;background-color:#bcd0c7}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#0f5132;border-color:#0f5132}.list-group-item-info{color:#055160;background-color:#cff4fc}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#055160;background-color:#badce3}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#055160;border-color:#055160}.list-group-item-warning{color:#664d03;background-color:#fff3cd}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#664d03;background-color:#e6dbb9}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#664d03;border-color:#664d03}.list-group-item-danger{color:#842029;background-color:#f8d7da}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#842029;background-color:#dfc2c4}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#842029;border-color:#842029}.list-group-item-light{color:#636464;background-color:#fefefe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#636464;background-color:#e5e5e5}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#636464;border-color:#636464}.list-group-item-dark{color:#141619;background-color:#d3d3d4}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#141619;background-color:#bebebf}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#141619;border-color:#141619}.btn-close{box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:#000;background:transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;border:0;border-radius:.25rem;opacity:.5}.btn-close:hover{color:#000;text-decoration:none;opacity:.75}.btn-close:focus{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25);opacity:1}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:.25}.btn-close-white{filter:invert(1) grayscale(100%) brightness(200%)}.toast{width:350px;max-width:100%;font-size:.875rem;pointer-events:auto;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .5rem 1rem rgba(0,0,0,.15);border-radius:.25rem}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:.75rem}.toast-header{display:flex;align-items:center;padding:.5rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-header .btn-close{margin-right:-.375rem;margin-left:.75rem}.toast-body{padding:.75rem;word-wrap:break-word}.modal{position:fixed;top:0;left:0;z-index:1055;display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:transform .3s ease-out;transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - 1rem)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1050;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:flex;flex-shrink:0;align-items:center;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .btn-close{padding:.5rem .5rem;margin:-.5rem -.5rem -.5rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;flex:1 1 auto;padding:1rem}.modal-footer{display:flex;flex-wrap:wrap;flex-shrink:0;align-items:center;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{height:calc(100% - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}.modal-fullscreen .modal-footer{border-radius:0}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}.modal-fullscreen-sm-down .modal-footer{border-radius:0}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}.modal-fullscreen-md-down .modal-footer{border-radius:0}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}.modal-fullscreen-lg-down .modal-footer{border-radius:0}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}.modal-fullscreen-xl-down .modal-footer{border-radius:0}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}.modal-fullscreen-xxl-down .modal-footer{border-radius:0}}.tooltip{position:absolute;z-index:1080;display:block;margin:0;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .tooltip-arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:0}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[data-popper-placement^=right],.bs-tooltip-end{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[data-popper-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:0}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[data-popper-placement^=left],.bs-tooltip-start{padding:0 .4rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1070;display:block;max-width:276px;font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .popover-arrow{position:absolute;display:block;width:1rem;height:.5rem}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f0f0f0}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem 1rem;margin-bottom:0;font-size:1rem;background-color:#f0f0f0;border-bottom:1px solid rgba(0,0,0,.2);border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:1rem 1rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%;list-style:none}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:#fff;text-align:center}.carousel-dark .carousel-control-next-icon,.carousel-dark .carousel-control-prev-icon{filter:invert(1) grayscale(100)}.carousel-dark .carousel-indicators [data-bs-target]{background-color:#000}.carousel-dark .carousel-caption{color:#000}@-webkit-keyframes spinner-border{to{transform:rotate(360deg)}}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.offcanvas{position:fixed;bottom:0;z-index:1045;display:flex;flex-direction:column;max-width:100%;visibility:hidden;background-color:#fff;background-clip:padding-box;outline:0;transition:transform .3s ease-in-out}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem}.offcanvas-header .btn-close{padding:.5rem .5rem;margin-top:-.5rem;margin-right:-.5rem;margin-bottom:-.5rem}.offcanvas-title{margin-bottom:0;line-height:1.5}.offcanvas-body{flex-grow:1;padding:1rem 1rem;overflow-y:auto}.offcanvas-start{top:0;left:0;width:400px;border-right:1px solid rgba(0,0,0,.2);transform:translateX(-100%)}.offcanvas-end{top:0;right:0;width:400px;border-left:1px solid rgba(0,0,0,.2);transform:translateX(100%)}.offcanvas-top{top:0;right:0;left:0;height:30vh;max-height:100%;border-bottom:1px solid rgba(0,0,0,.2);transform:translateY(-100%)}.offcanvas-bottom{right:0;left:0;height:30vh;max-height:100%;border-top:1px solid rgba(0,0,0,.2);transform:translateY(100%)}.offcanvas.show{transform:none}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentColor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{-webkit-animation:placeholder-glow 2s ease-in-out infinite;animation:placeholder-glow 2s ease-in-out infinite}@-webkit-keyframes placeholder-glow{50%{opacity:.2}}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;-webkit-animation:placeholder-wave 2s linear infinite;animation:placeholder-wave 2s linear infinite}@-webkit-keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.link-primary{color:#0d6efd}.link-primary:focus,.link-primary:hover{color:#0a58ca}.link-secondary{color:#6c757d}.link-secondary:focus,.link-secondary:hover{color:#565e64}.link-success{color:#198754}.link-success:focus,.link-success:hover{color:#146c43}.link-info{color:#0dcaf0}.link-info:focus,.link-info:hover{color:#3dd5f3}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ffcd39}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#b02a37}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#f9fafb}.link-dark{color:#212529}.link-dark:focus,.link-dark:hover{color:#1a1e21}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:1px;min-height:1em;background-color:currentColor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:1px solid #dee2e6!important}.border-0{border:0!important}.border-top{border-top:1px solid #dee2e6!important}.border-top-0{border-top:0!important}.border-end{border-right:1px solid #dee2e6!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:1px solid #dee2e6!important}.border-start-0{border-left:0!important}.border-primary{border-color:#0d6efd!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#198754!important}.border-info{border-color:#0dcaf0!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#212529!important}.border-white{border-color:#fff!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-light{font-weight:300!important}.fw-lighter{font-weight:lighter!important}.fw-normal{font-weight:400!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:#6c757d!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:.25rem!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:.2rem!important}.rounded-2{border-radius:.25rem!important}.rounded-3{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-end{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-start{border-bottom-left-radius:.25rem!important;border-top-left-radius:.25rem!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
          /*# sourceMappingURL=bootstrap.min.css.map */
          Evidence
          66666667
          Solution

          Manually confirm that the timestamp data is not sensitive, and that the data cannot be aggregated to disclose exploitable patterns.

  4. Risk=Informational, Confidence=Low (5)

    1. https://ajax.googleapis.com (1)

      1. Information Disclosure - Suspicious Comments (1)
        1. GET https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bUSERNAME\b and was detected in the element starting with: "!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (379 bytes)
          GET https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js HTTP/1.1
          Host: ajax.googleapis.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: no-cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (1059 bytes)
          HTTP/1.1 200 OK
          Accept-Ranges: bytes
          Vary: Accept-Encoding
          Content-Type: text/javascript; charset=UTF-8
          Access-Control-Allow-Origin: *
          Content-Security-Policy-Report-Only: require-trusted-types-for 'script'; report-uri https://csp.withgoogle.com/csp/hosted-libraries-pushers
          Cross-Origin-Resource-Policy: cross-origin
          Cross-Origin-Opener-Policy: same-origin; report-to="hosted-libraries-pushers"
          Report-To: {"group":"hosted-libraries-pushers","max_age":2592000,"endpoints":[{"url":"https://csp.withgoogle.com/csp/report-to/hosted-libraries-pushers"}]}
          Timing-Allow-Origin: *
          Content-Length: 89476
          Date: Sun, 09 Jan 2022 10:25:43 GMT
          Expires: Mon, 09 Jan 2023 10:25:43 GMT
          Last-Modified: Fri, 08 May 2020 07:05:03 GMT
          X-Content-Type-Options: nosniff
          Server: sffe
          X-XSS-Protection: 0
          Age: 57764
          Cache-Control: public, max-age=31536000, stale-while-revalidate=2592000
          Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000,h3-Q050=":443"; ma=2592000,h3-Q046=":443"; ma=2592000,h3-Q043=":443"; ma=2592000,quic=":443"; ma=2592000; v="46,43"
          
          
          Response body (89476 bytes)
          /*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
          !function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}S.fn=S.prototype={jquery:f,constructor:S,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=S.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return S.each(this,e)},map:function(n){return this.pushStack(S.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(S.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(S.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},S.extend=S.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(S.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||S.isPlainObject(n)?n:{},i=!1,a[t]=S.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},S.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){b(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(p(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(p(Object(e))?S.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(p(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:y}),"function"==typeof Symbol&&(S.fn[Symbol.iterator]=t[Symbol.iterator]),S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var d=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,S="sizzle"+1*new Date,p=n.document,k=0,r=0,m=ue(),x=ue(),A=ue(),N=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+S+"'></a><select id='"+S+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(B," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[k,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===k&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[S]||(a[S]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[k,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[S]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[k,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[S]||(e[S]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===k&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[S]&&(v=Ce(v)),y&&!y[S]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=A[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[S]?i.push(a):o.push(a);(a=A(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=k+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(k=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(k=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=S.split("").sort(D).join("")===S,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);S.find=d,S.expr=d.selectors,S.expr[":"]=S.expr.pseudos,S.uniqueSort=S.unique=d.uniqueSort,S.text=d.getText,S.isXMLDoc=d.isXML,S.contains=d.contains,S.escapeSelector=d.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&S(e).is(n))break;r.push(e)}return r},T=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=S.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1<i.call(n,e)!==r}):S.filter(n,e,r)}S.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?S.find.matchesSelector(r,e)?[r]:[]:S.find.matches(e,S.grep(t,function(e){return 1===e.nodeType}))},S.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(S(e).filter(function(){for(t=0;t<r;t++)if(S.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)S.find(e,i[t],n);return 1<r?S.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&k.test(e)?S(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(S.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&S(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&S.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?S.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(S(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(S.uniqueSort(S.merge(this.get(),S(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),S.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return O(e,"nextSibling")},prev:function(e){return O(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return T((e.parentNode||{}).firstChild,e)},children:function(e){return T(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),S.merge([],e.childNodes))}},function(r,i){S.fn[r]=function(e,t){var n=S.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=S.filter(t,n)),1<this.length&&(H[r]||S.uniqueSort(n),L.test(r)&&n.reverse()),this.pushStack(n)}});var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}S.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},S.each(e.match(P)||[],function(e,t){n[t]=!0}),n):S.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){S.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return S.each(arguments,function(e,t){var n;while(-1<(n=S.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<S.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},S.extend({Deferred:function(e){var o=[["notify","progress",S.Callbacks("memory"),S.Callbacks("memory"),2],["resolve","done",S.Callbacks("once memory"),S.Callbacks("once memory"),0,"resolved"],["reject","fail",S.Callbacks("once memory"),S.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return S.Deferred(function(r){S.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,R,s),l(u,o,M,s)):(u++,t.call(e,l(u,o,R,s),l(u,o,M,s),l(u,o,R,o.notifyWith))):(a!==R&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){S.Deferred.exceptionHook&&S.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==M&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(S.Deferred.getStackHook&&(t.stackTrace=S.Deferred.getStackHook()),C.setTimeout(t))}}return S.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:R,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:R)),o[2][3].add(l(0,e,m(n)?n:M))}).promise()},promise:function(e){return null!=e?S.extend(e,a):a}},s={};return S.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=S.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(I(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)I(i[t],a(t),o.reject);return o.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;S.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&W.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},S.readyException=function(e){C.setTimeout(function(){throw e})};var F=S.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),S.ready()}S.fn.ready=function(e){return F.then(e)["catch"](function(e){S.readyException(e)}),this},S.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--S.readyWait:S.isReady)||(S.isReady=!0)!==e&&0<--S.readyWait||F.resolveWith(E,[S])}}),S.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(S.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(S(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=S.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;while(n--)delete r[t[n]]}(void 0===t||S.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!S.isEmptyObject(t)}};var Y=new G,Q=new G,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:J.test(i)?JSON.parse(i):i)}catch(e){}Q.set(e,t,n)}else n=void 0;return n}S.extend({hasData:function(e){return Q.hasData(e)||Y.hasData(e)},data:function(e,t,n){return Q.access(e,t,n)},removeData:function(e,t){Q.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),S.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=Q.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){Q.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=Q.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){Q.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){Q.remove(this,e)})}}),S.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,S.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=S.queue(e,t),r=n.length,i=n.shift(),o=S._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){S.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:S.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),S.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?S.queue(this[0],t):void 0===n?this:this.each(function(){var e=S.queue(this,t,n);S._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&S.dequeue(this,t)})},dequeue:function(e){return this.each(function(){S.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=S.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=E.documentElement,ie=function(e){return S.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return S.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===S.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return S.css(e,t,"")},u=s(),l=n&&n[3]||(S.cssNumber[t]?"":"px"),c=e.nodeType&&(S.cssNumber[t]||"px"!==l&&+u)&&te.exec(S.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)S.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,S.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ue[s])||(o=a.body.appendChild(a.createElement(s)),u=S.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ue[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}S.fn.extend({show:function(){return le(this,!0)},hide:function(){return le(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?S(this).show():S(this).hide()})}});var ce,fe,pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="<textarea>x</textarea>",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="<option></option>",y.option=!!ce.lastChild;var ge={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td,y.option||(ge.optgroup=ge.option=[1,"<select multiple='multiple'>","</select>"]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))S.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+S.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;S.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<S.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}var be=/^key/,we=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Ee(){return!1}function Se(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function ke(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)ke(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ee;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return S().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=S.guid++)),e.each(function(){S.event.add(this,t,i,r,n)})}function Ae(e,i,o){o?(Y.set(e,i,!1),S.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(S.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:S.event.trigger(S.extend(r[0],S.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&S.event.add(e,i,Ce)}S.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.get(t);if(V(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&S.find.matchesSelector(re,i),n.guid||(n.guid=S.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof S&&S.event.triggered!==e.type?S.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(P)||[""]).length;while(l--)d=g=(s=Te.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=S.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=S.event.special[d]||{},c=S.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&S.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),S.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(P)||[""]).length;while(l--)if(d=g=(s=Te.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=S.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||S.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)S.event.remove(e,d+t[l],n,r,!0);S.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=S.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=S.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=S.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((S.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<S(i,this).index(l):S.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(S.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[S.expando]?e:new S.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click",Ce),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&Ae(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Y.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},S.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},S.Event=function(e,t){if(!(this instanceof S.Event))return new S.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Ee,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&S.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[S.expando]=!0},S.Event.prototype={constructor:S.Event,isDefaultPrevented:Ee,isPropagationStopped:Ee,isImmediatePropagationStopped:Ee,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},S.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&we.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},S.event.addProp),S.each({focus:"focusin",blur:"focusout"},function(e,t){S.event.special[e]={setup:function(){return Ae(this,e,Se),!1},trigger:function(){return Ae(this,e),!0},delegateType:t}}),S.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){S.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||S.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),S.fn.extend({on:function(e,t,n,r){return ke(this,e,t,n,r)},one:function(e,t,n,r){return ke(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,S(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ee),this.each(function(){S.event.remove(this,e,n,t)})}});var Ne=/<script|<style|<link/i,De=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)S.event.add(t,i,s[i][n]);Q.hasData(e)&&(o=Q.access(e),a=S.extend({},o),Q.set(t,a))}}function Pe(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&De.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=xe(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=S.map(ve(e,"script"),Le)).length;c<f;c++)u=e,c!==p&&(u=S.clone(u,!0,!0),s&&S.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,S.map(a,He),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Y.access(u,"globalEval")&&S.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?S._evalUrl&&!u.noModule&&S._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):b(u.textContent.replace(je,""),u,l))}return n}function Re(e,t,n){for(var r,i=t?S.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||S.cleanData(ve(r)),r.parentNode&&(n&&ie(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}S.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||S.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=S.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?S.event.remove(n,r):S.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[Q.expando]&&(n[Q.expando]=void 0)}}}),S.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,function(e){return void 0===e?S.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(S.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return S.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ne.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=S.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(S.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;S.inArray(this,n)<0&&(S.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),S.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){S.fn[e]=function(e){for(var t,n=[],r=S(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),S(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=S.style(e,t)),!y.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=C.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=E.createElement("div"),l=E.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===l.style.backgroundClip,S.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=E.createElement("table"),t=E.createElement("tr"),n=E.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=C.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var _e=["Webkit","Moz","ms"],ze=E.createElement("div").style,Ue={};function Xe(e){var t=S.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=_e.length;while(n--)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Ge=/^--/,Ye={position:"absolute",visibility:"hidden",display:"block"},Qe={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=S.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=S.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=S.css(e,"border"+ne[a]+"Width",!0,i))):(u+=S.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=S.css(e,"border"+ne[a]+"Width",!0,i):s+=S.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!y.boxSizingReliable()||n)&&"border-box"===S.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||!y.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===S.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===S.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}S.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Ge.test(t),l=e.style;if(u||(t=Xe(s)),a=S.cssHooks[t]||S.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(S.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Ge.test(t)||(t=Xe(s)),(a=S.cssHooks[t]||S.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Qe&&(i=Qe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),S.each(["height","width"],function(e,u){S.cssHooks[u]={get:function(e,t,n){if(t)return!Ve.test(S.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,u,n):We(e,Ye,function(){return Ze(e,u,n)})},set:function(e,t,n){var r,i=Ie(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===S.css(e,"boxSizing",!1,i),s=n?Ke(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ke(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=S.css(e,u)),Je(0,t,s)}}}),S.cssHooks.marginLeft=$e(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),S.each({margin:"",padding:"",border:"Width"},function(i,o){S.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(S.cssHooks[i+o].set=Je)}),S.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=S.css(e,t[a],!1,r);return o}return void 0!==n?S.style(e,t,n):S.css(e,t)},e,t,1<arguments.length)}}),((S.Tween=et).prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||S.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(S.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=S.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}}).init.prototype=et.prototype,(et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=S.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){S.fx.step[e.prop]?S.fx.step[e.prop](e):1!==e.elem.nodeType||!S.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:S.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},S.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},S.fx=et.prototype.init,S.fx.step={};var tt,nt,rt,it,ot=/^(?:toggle|show|hide)$/,at=/queueHooks$/;function st(){nt&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(st):C.setTimeout(st,S.fx.interval),S.fx.tick())}function ut(){return C.setTimeout(function(){tt=void 0}),tt=Date.now()}function lt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function ct(e,t,n){for(var r,i=(ft.tweeners[t]||[]).concat(ft.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ft(o,e,t){var n,a,r=0,i=ft.prefilters.length,s=S.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=tt||ut(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:S.extend({},e),opts:S.extend(!0,{specialEasing:{},easing:S.easing._default},t),originalProperties:e,originalOptions:t,startTime:tt||ut(),duration:t.duration,tweens:[],createTween:function(e,t){var n=S.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=S.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=ft.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(S._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return S.map(c,ct,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),S.fx.timer(S.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}S.Animation=S.extend(ft,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],ft.tweeners[n]=ft.tweeners[n]||[],ft.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=Y.get(e,"fxshow");for(r in n.queue||(null==(a=S._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,S.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ot.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||S.style(e,r)}if((u=!S.isEmptyObject(t))||!S.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Y.get(e,"display")),"none"===(c=S.css(e,"display"))&&(l?c=l:(le([e],!0),l=e.style.display||l,c=S.css(e,"display"),le([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===S.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Y.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&le([e],!0),p.done(function(){for(r in g||le([e]),Y.remove(e,"fxshow"),d)S.style(e,r,d[r])})),u=ct(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?ft.prefilters.unshift(e):ft.prefilters.push(e)}}),S.speed=function(e,t,n){var r=e&&"object"==typeof e?S.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return S.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in S.fx.speeds?r.duration=S.fx.speeds[r.duration]:r.duration=S.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&S.dequeue(this,r.queue)},r},S.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=S.isEmptyObject(t),o=S.speed(e,n,r),a=function(){var e=ft(this,S.extend({},t),o);(i||Y.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=S.timers,r=Y.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&at.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||S.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Y.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=S.timers,o=n?n.length:0;for(t.finish=!0,S.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),S.each(["toggle","show","hide"],function(e,r){var i=S.fn[r];S.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(lt(r,!0),e,t,n)}}),S.each({slideDown:lt("show"),slideUp:lt("hide"),slideToggle:lt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){S.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),S.timers=[],S.fx.tick=function(){var e,t=0,n=S.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||S.fx.stop(),tt=void 0},S.fx.timer=function(e){S.timers.push(e),S.fx.start()},S.fx.interval=13,S.fx.start=function(){nt||(nt=!0,st())},S.fx.stop=function(){nt=null},S.fx.speeds={slow:600,fast:200,_default:400},S.fn.delay=function(r,e){return r=S.fx&&S.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},rt=E.createElement("input"),it=E.createElement("select").appendChild(E.createElement("option")),rt.type="checkbox",y.checkOn=""!==rt.value,y.optSelected=it.selected,(rt=E.createElement("input")).value="t",rt.type="radio",y.radioValue="t"===rt.value;var pt,dt=S.expr.attrHandle;S.fn.extend({attr:function(e,t){return $(this,S.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){S.removeAttr(this,e)})}}),S.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?S.prop(e,t,n):(1===o&&S.isXMLDoc(e)||(i=S.attrHooks[t.toLowerCase()]||(S.expr.match.bool.test(t)?pt:void 0)),void 0!==n?null===n?void S.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=S.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),pt={set:function(e,t,n){return!1===t?S.removeAttr(e,n):e.setAttribute(n,n),n}},S.each(S.expr.match.bool.source.match(/\w+/g),function(e,t){var a=dt[t]||S.find.attr;dt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=dt[o],dt[o]=r,r=null!=a(e,t,n)?o:null,dt[o]=i),r}});var ht=/^(?:input|select|textarea|button)$/i,gt=/^(?:a|area)$/i;function vt(e){return(e.match(P)||[]).join(" ")}function yt(e){return e.getAttribute&&e.getAttribute("class")||""}function mt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}S.fn.extend({prop:function(e,t){return $(this,S.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[S.propFix[e]||e]})}}),S.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&S.isXMLDoc(e)||(t=S.propFix[t]||t,i=S.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=S.find.attr(e,"tabindex");return t?parseInt(t,10):ht.test(e.nodeName)||gt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(S.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),S.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){S.propFix[this.toLowerCase()]=this}),S.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).addClass(t.call(this,e,yt(this)))});if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){S(this).removeClass(t.call(this,e,yt(this)))});if(!arguments.length)return this.attr("class","");if((e=mt(t)).length)while(n=this[u++])if(i=yt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){S(this).toggleClass(i.call(this,e,yt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=S(this),r=mt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=yt(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+vt(yt(n))+" ").indexOf(t))return!0;return!1}});var xt=/\r/g;S.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,S(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=S.map(t,function(e){return null==e?"":e+""})),(r=S.valHooks[this.type]||S.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=S.valHooks[t.type]||S.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(xt,""):null==e?"":e:void 0}}),S.extend({valHooks:{option:{get:function(e){var t=S.find.attr(e,"value");return null!=t?t:vt(S.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=S(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=S.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<S.inArray(S.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),S.each(["radio","checkbox"],function(){S.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<S.inArray(S(e).val(),t)}},y.checkOn||(S.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var bt=/^(?:focusinfocus|focusoutblur)$/,wt=function(e){e.stopPropagation()};S.extend(S.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!bt.test(d+S.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[S.expando]?e:new S.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:S.makeArray(t,[e]),c=S.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,bt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&V(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!V(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),S.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,wt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,wt),S.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=S.extend(new S.Event,n,{type:e,isSimulated:!0});S.event.trigger(r,null,t)}}),S.fn.extend({trigger:function(e,t){return this.each(function(){S.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return S.event.trigger(e,t,n,!0)}}),y.focusin||S.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){S.event.simulate(r,e.target,S.event.fix(e))};S.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}});var Tt=C.location,Ct={guid:Date.now()},Et=/\?/;S.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||S.error("Invalid XML: "+e),t};var St=/\[\]$/,kt=/\r?\n/g,At=/^(?:submit|button|image|reset|file)$/i,Nt=/^(?:input|select|textarea|keygen)/i;function Dt(n,e,r,i){var t;if(Array.isArray(e))S.each(e,function(e,t){r||St.test(n)?i(n,t):Dt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)Dt(n+"["+t+"]",e[t],r,i)}S.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!S.isPlainObject(e))S.each(e,function(){i(this.name,this.value)});else for(n in e)Dt(n,e[n],t,i);return r.join("&")},S.fn.extend({serialize:function(){return S.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=S.prop(this,"elements");return e?S.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!S(this).is(":disabled")&&Nt.test(this.nodeName)&&!At.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=S(this).val();return null==n?null:Array.isArray(n)?S.map(n,function(e){return{name:t.name,value:e.replace(kt,"\r\n")}}):{name:t.name,value:n.replace(kt,"\r\n")}}).get()}});var jt=/%20/g,qt=/#.*$/,Lt=/([?&])_=[^&]*/,Ht=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ot=/^(?:GET|HEAD)$/,Pt=/^\/\//,Rt={},Mt={},It="*/".concat("*"),Wt=E.createElement("a");function Ft(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(P)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Bt(t,i,o,a){var s={},u=t===Mt;function l(e){var r;return s[e]=!0,S.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function $t(e,t){var n,r,i=S.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&S.extend(!0,e,r),e}Wt.href=Tt.href,S.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Tt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":It,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":S.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?$t($t(e,S.ajaxSettings),t):$t(S.ajaxSettings,e)},ajaxPrefilter:Ft(Rt),ajaxTransport:Ft(Mt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=S.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?S(y):S.event,x=S.Deferred(),b=S.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Ht.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Tt.href)+"").replace(Pt,Tt.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(P)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Wt.protocol+"//"+Wt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=S.param(v.data,v.traditional)),Bt(Rt,v,t,T),h)return T;for(i in(g=S.event&&v.global)&&0==S.active++&&S.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ot.test(v.type),f=v.url.replace(qt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(jt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(Et.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Lt,"$1"),o=(Et.test(f)?"&":"?")+"_="+Ct.guid+++o),v.url=f+o),v.ifModified&&(S.lastModified[f]&&T.setRequestHeader("If-Modified-Since",S.lastModified[f]),S.etag[f]&&T.setRequestHeader("If-None-Match",S.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+It+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Bt(Mt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<S.inArray("script",v.dataTypes)&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(S.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(S.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--S.active||S.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return S.get(e,t,n,"json")},getScript:function(e,t){return S.get(e,void 0,t,"script")}}),S.each(["get","post"],function(e,i){S[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),S.ajax(S.extend({url:e,type:i,dataType:r,data:t,success:n},S.isPlainObject(e)&&e))}}),S.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),S._evalUrl=function(e,t,n){return S.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){S.globalEval(e,t,n)}})},S.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=S(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){S(this).wrapInner(n.call(this,e))}):this.each(function(){var e=S(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){S(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){S(this).replaceWith(this.childNodes)}),this}}),S.expr.pseudos.hidden=function(e){return!S.expr.pseudos.visible(e)},S.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},S.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var _t={0:200,1223:204},zt=S.ajaxSettings.xhr();y.cors=!!zt&&"withCredentials"in zt,y.ajax=zt=!!zt,S.ajaxTransport(function(i){var o,a;if(y.cors||zt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(_t[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),S.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),S.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return S.globalEval(e),e}}}),S.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),S.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=S("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=vt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&S.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?S("<div>").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var Gt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;S.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||S.guid++,i},S.holdReady=function(e){e?S.readyWait++:S.ready(!0)},S.isArray=Array.isArray,S.parseJSON=JSON.parse,S.nodeName=A,S.isFunction=m,S.isWindow=x,S.camelCase=X,S.type=w,S.now=Date.now,S.isNumeric=function(e){var t=S.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},S.trim=function(e){return null==e?"":(e+"").replace(Gt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return S});var Yt=C.jQuery,Qt=C.$;return S.noConflict=function(e){return C.$===S&&(C.$=Qt),e&&C.jQuery===S&&(C.jQuery=Yt),S},"undefined"==typeof e&&(C.jQuery=C.$=S),S});
          
          Evidence
          username
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

    2. https://cdnjs.cloudflare.com (1)

      1. Information Disclosure - Suspicious Comments (1)
        1. GET https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bFROM\b and was detected in the element starting with: " */const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l="0123456789AB", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (377 bytes)
          GET https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.6.0/chart.min.js HTTP/1.1
          Host: cdnjs.cloudflare.com
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (1100 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Content-Type: application/javascript; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Cache-Control: public, max-age=30672000
          ETag: W/"61748e4e-10030"
          Last-Modified: Sat, 23 Oct 2021 22:35:58 GMT
          cf-cdnjs-via: cfworker/kv
          Cross-Origin-Resource-Policy: cross-origin
          Timing-Allow-Origin: *
          X-Content-Type-Options: nosniff
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          CF-Cache-Status: MISS
          Expires: Sat, 31 Dec 2022 02:28:27 GMT
          Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=vH4E0CvFVZV%2Bzhp5omGT1pRLAbIYpzelBSyWCKhYwVBXUsyLX60OiXZh2Reh%2BVVBRCh%2Be9AzaKrNbIzNSeBSrRae%2FddJ4hqlhT4rVoIB1Bx62%2FJZep4RzPDVSJJ6diY0yuUytLVm"}],"group":"cf-nel","max_age":604800}
          NEL: {"success_fraction":0.01,"report_to":"cf-nel","max_age":604800}
          Strict-Transport-Security: max-age=15780000
          Server: cloudflare
          CF-RAY: 6cb278d5999c90df-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (192461 bytes)
          /*!
           * Chart.js v3.6.0
           * https://www.chartjs.org
           * (c) 2021 Chart.js Contributors
           * Released under the MIT License
           */
          !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).Chart=e()}(this,(function(){"use strict";const t="undefined"==typeof window?function(t){return t()}:window.requestAnimationFrame;function e(e,i,s){const n=s||(t=>Array.prototype.slice.call(t));let o=!1,a=[];return function(...s){a=n(s),o||(o=!0,t.call(window,(()=>{o=!1,e.apply(i,a)})))}}function i(t,e){let i;return function(...s){return e?(clearTimeout(i),i=setTimeout(t,e,s)):t.apply(this,s),e}}const s=t=>"start"===t?"left":"end"===t?"right":"center",n=(t,e,i)=>"start"===t?e:"end"===t?i:(e+i)/2,o=(t,e,i,s)=>t===(s?"left":"right")?i:"center"===t?(e+i)/2:e;var a=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(t,e,i,s){const n=e.listeners[s],o=e.duration;n.forEach((s=>s({chart:t,initial:e.initial,numSteps:o,currentStep:Math.min(i-e.start,o)})))}_refresh(){this._request||(this._running=!0,this._request=t.call(window,(()=>{this._update(),this._request=null,this._running&&this._refresh()})))}_update(t=Date.now()){let e=0;this._charts.forEach(((i,s)=>{if(!i.running||!i.items.length)return;const n=i.items;let o,a=n.length-1,r=!1;for(;a>=0;--a)o=n[a],o._active?(o._total>i.duration&&(i.duration=o._total),o.tick(t),r=!0):(n[a]=n[n.length-1],n.pop());r&&(s.draw(),this._notify(s,i,t,"progress")),n.length||(i.running=!1,this._notify(s,i,t,"complete"),i.initial=!1),e+=n.length})),this._lastDate=t,0===e&&(this._running=!1)}_getAnims(t){const e=this._charts;let i=e.get(t);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,i)),i}listen(t,e,i){this._getAnims(t).listeners[e].push(i)}add(t,e){e&&e.length&&this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce(((t,e)=>Math.max(t,e._duration)),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!!(e&&e.running&&e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const i=e.items;let s=i.length-1;for(;s>=0;--s)i[s].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}};
          /*!
           * @kurkle/color v0.1.9
           * https://github.com/kurkle/color#readme
           * (c) 2020 Jukka Kurkela
           * Released under the MIT License
           */const r={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},l="0123456789ABCDEF",h=t=>l[15&t],c=t=>l[(240&t)>>4]+l[15&t],d=t=>(240&t)>>4==(15&t);function u(t){var e=function(t){return d(t.r)&&d(t.g)&&d(t.b)&&d(t.a)}(t)?h:c;return t?"#"+e(t.r)+e(t.g)+e(t.b)+(t.a<255?e(t.a):""):t}function f(t){return t+.5|0}const g=(t,e,i)=>Math.max(Math.min(t,i),e);function p(t){return g(f(2.55*t),0,255)}function m(t){return g(f(255*t),0,255)}function x(t){return g(f(t/2.55)/100,0,1)}function b(t){return g(f(100*t),0,100)}const _=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;const y=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function v(t,e,i){const s=e*Math.min(i,1-i),n=(e,n=(e+t/30)%12)=>i-s*Math.max(Math.min(n-3,9-n,1),-1);return[n(0),n(8),n(4)]}function w(t,e,i){const s=(s,n=(s+t/60)%6)=>i-i*e*Math.max(Math.min(n,4-n,1),0);return[s(5),s(3),s(1)]}function M(t,e,i){const s=v(t,1,.5);let n;for(e+i>1&&(n=1/(e+i),e*=n,i*=n),n=0;n<3;n++)s[n]*=1-e-i,s[n]+=e;return s}function k(t){const e=t.r/255,i=t.g/255,s=t.b/255,n=Math.max(e,i,s),o=Math.min(e,i,s),a=(n+o)/2;let r,l,h;return n!==o&&(h=n-o,l=a>.5?h/(2-n-o):h/(n+o),r=n===e?(i-s)/h+(i<s?6:0):n===i?(s-e)/h+2:(e-i)/h+4,r=60*r+.5),[0|r,l||0,a]}function S(t,e,i,s){return(Array.isArray(e)?t(e[0],e[1],e[2]):t(e,i,s)).map(m)}function P(t,e,i){return S(v,t,e,i)}function D(t){return(t%360+360)%360}function C(t){const e=y.exec(t);let i,s=255;if(!e)return;e[5]!==i&&(s=e[6]?p(+e[5]):m(+e[5]));const n=D(+e[2]),o=+e[3]/100,a=+e[4]/100;return i="hwb"===e[1]?function(t,e,i){return S(M,t,e,i)}(n,o,a):"hsv"===e[1]?function(t,e,i){return S(w,t,e,i)}(n,o,a):P(n,o,a),{r:i[0],g:i[1],b:i[2],a:s}}const O={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},A={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let T;function L(t){T||(T=function(){const t={},e=Object.keys(A),i=Object.keys(O);let s,n,o,a,r;for(s=0;s<e.length;s++){for(a=r=e[s],n=0;n<i.length;n++)o=i[n],r=r.replace(o,O[o]);o=parseInt(A[a],16),t[r]=[o>>16&255,o>>8&255,255&o]}return t}(),T.transparent=[0,0,0,0]);const e=T[t.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}function R(t,e,i){if(t){let s=k(t);s[e]=Math.max(0,Math.min(s[e]+s[e]*i,0===e?360:1)),s=P(s),t.r=s[0],t.g=s[1],t.b=s[2]}}function E(t,e){return t?Object.assign(e||{},t):t}function I(t){var e={r:0,g:0,b:0,a:255};return Array.isArray(t)?t.length>=3&&(e={r:t[0],g:t[1],b:t[2],a:255},t.length>3&&(e.a=m(t[3]))):(e=E(t,{r:0,g:0,b:0,a:1})).a=m(e.a),e}function z(t){return"r"===t.charAt(0)?function(t){const e=_.exec(t);let i,s,n,o=255;if(e){if(e[7]!==i){const t=+e[7];o=255&(e[8]?p(t):255*t)}return i=+e[1],s=+e[3],n=+e[5],i=255&(e[2]?p(i):i),s=255&(e[4]?p(s):s),n=255&(e[6]?p(n):n),{r:i,g:s,b:n,a:o}}}(t):C(t)}class F{constructor(t){if(t instanceof F)return t;const e=typeof t;let i;var s,n,o;"object"===e?i=I(t):"string"===e&&(o=(s=t).length,"#"===s[0]&&(4===o||5===o?n={r:255&17*r[s[1]],g:255&17*r[s[2]],b:255&17*r[s[3]],a:5===o?17*r[s[4]]:255}:7!==o&&9!==o||(n={r:r[s[1]]<<4|r[s[2]],g:r[s[3]]<<4|r[s[4]],b:r[s[5]]<<4|r[s[6]],a:9===o?r[s[7]]<<4|r[s[8]]:255})),i=n||L(t)||z(t)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var t=E(this._rgb);return t&&(t.a=x(t.a)),t}set rgb(t){this._rgb=I(t)}rgbString(){return this._valid?(t=this._rgb)&&(t.a<255?`rgba(${t.r}, ${t.g}, ${t.b}, ${x(t.a)})`:`rgb(${t.r}, ${t.g}, ${t.b})`):this._rgb;var t}hexString(){return this._valid?u(this._rgb):this._rgb}hslString(){return this._valid?function(t){if(!t)return;const e=k(t),i=e[0],s=b(e[1]),n=b(e[2]);return t.a<255?`hsla(${i}, ${s}%, ${n}%, ${x(t.a)})`:`hsl(${i}, ${s}%, ${n}%)`}(this._rgb):this._rgb}mix(t,e){const i=this;if(t){const s=i.rgb,n=t.rgb;let o;const a=e===o?.5:e,r=2*a-1,l=s.a-n.a,h=((r*l==-1?r:(r+l)/(1+r*l))+1)/2;o=1-h,s.r=255&h*s.r+o*n.r+.5,s.g=255&h*s.g+o*n.g+.5,s.b=255&h*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,i.rgb=s}return i}clone(){return new F(this.rgb)}alpha(t){return this._rgb.a=m(t),this}clearer(t){return this._rgb.a*=1-t,this}greyscale(){const t=this._rgb,e=f(.3*t.r+.59*t.g+.11*t.b);return t.r=t.g=t.b=e,this}opaquer(t){return this._rgb.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return R(this._rgb,2,t),this}darken(t){return R(this._rgb,2,-t),this}saturate(t){return R(this._rgb,1,t),this}desaturate(t){return R(this._rgb,1,-t),this}rotate(t){return function(t,e){var i=k(t);i[0]=D(i[0]+e),i=P(i),t.r=i[0],t.g=i[1],t.b=i[2]}(this._rgb,t),this}}function B(t){return new F(t)}const V=t=>t instanceof CanvasGradient||t instanceof CanvasPattern;function W(t){return V(t)?t:B(t)}function N(t){return V(t)?t:B(t).saturate(.5).darken(.1).hexString()}function H(){}const j=function(){let t=0;return function(){return t++}}();function $(t){return null==t}function Y(t){if(Array.isArray&&Array.isArray(t))return!0;const e=Object.prototype.toString.call(t);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function U(t){return null!==t&&"[object Object]"===Object.prototype.toString.call(t)}const X=t=>("number"==typeof t||t instanceof Number)&&isFinite(+t);function q(t,e){return X(t)?t:e}function K(t,e){return void 0===t?e:t}const G=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100:t/e,Z=(t,e)=>"string"==typeof t&&t.endsWith("%")?parseFloat(t)/100*e:+t;function Q(t,e,i){if(t&&"function"==typeof t.call)return t.apply(i,e)}function J(t,e,i,s){let n,o,a;if(Y(t))if(o=t.length,s)for(n=o-1;n>=0;n--)e.call(i,t[n],n);else for(n=0;n<o;n++)e.call(i,t[n],n);else if(U(t))for(a=Object.keys(t),o=a.length,n=0;n<o;n++)e.call(i,t[a[n]],a[n])}function tt(t,e){let i,s,n,o;if(!t||!e||t.length!==e.length)return!1;for(i=0,s=t.length;i<s;++i)if(n=t[i],o=e[i],n.datasetIndex!==o.datasetIndex||n.index!==o.index)return!1;return!0}function et(t){if(Y(t))return t.map(et);if(U(t)){const e=Object.create(null),i=Object.keys(t),s=i.length;let n=0;for(;n<s;++n)e[i[n]]=et(t[i[n]]);return e}return t}function it(t){return-1===["__proto__","prototype","constructor"].indexOf(t)}function st(t,e,i,s){if(!it(t))return;const n=e[t],o=i[t];U(n)&&U(o)?nt(n,o,s):e[t]=et(o)}function nt(t,e,i){const s=Y(e)?e:[e],n=s.length;if(!U(t))return t;const o=(i=i||{}).merger||st;for(let a=0;a<n;++a){if(!U(e=s[a]))continue;const n=Object.keys(e);for(let s=0,a=n.length;s<a;++s)o(n[s],t,e,i)}return t}function ot(t,e){return nt(t,e,{merger:at})}function at(t,e,i){if(!it(t))return;const s=e[t],n=i[t];U(s)&&U(n)?ot(s,n):Object.prototype.hasOwnProperty.call(e,t)||(e[t]=et(n))}function rt(t,e){const i=t.indexOf(".",e);return-1===i?t.length:i}function lt(t,e){if(""===e)return t;let i=0,s=rt(e,i);for(;t&&s>i;)t=t[e.substr(i,s-i)],i=s+1,s=rt(e,i);return t}function ht(t){return t.charAt(0).toUpperCase()+t.slice(1)}const ct=t=>void 0!==t,dt=t=>"function"==typeof t,ut=(t,e)=>{if(t.size!==e.size)return!1;for(const i of t)if(!e.has(i))return!1;return!0},ft=Object.create(null),gt=Object.create(null);function pt(t,e){if(!e)return t;const i=e.split(".");for(let e=0,s=i.length;e<s;++e){const s=i[e];t=t[s]||(t[s]=Object.create(null))}return t}function mt(t,e,i){return"string"==typeof e?nt(pt(t,e),i):nt(pt(t,""),e)}var xt=new class{constructor(t){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,e)=>N(e.backgroundColor),this.hoverBorderColor=(t,e)=>N(e.borderColor),this.hoverColor=(t,e)=>N(e.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.describe(t)}set(t,e){return mt(this,t,e)}get(t){return pt(this,t)}describe(t,e){return mt(gt,t,e)}override(t,e){return mt(ft,t,e)}route(t,e,i,s){const n=pt(this,t),o=pt(this,i),a="_"+e;Object.defineProperties(n,{[a]:{value:n[e],writable:!0},[e]:{enumerable:!0,get(){const t=this[a],e=o[s];return U(t)?Object.assign({},e,t):K(t,e)},set(t){this[a]=t}}})}}({_scriptable:t=>!t.startsWith("on"),_indexable:t=>"events"!==t,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});const bt=Math.PI,_t=2*bt,yt=_t+bt,vt=Number.POSITIVE_INFINITY,wt=bt/180,Mt=bt/2,kt=bt/4,St=2*bt/3,Pt=Math.log10,Dt=Math.sign;function Ct(t){const e=Math.round(t);t=Tt(t,e,t/1e3)?e:t;const i=Math.pow(10,Math.floor(Pt(t))),s=t/i;return(s<=1?1:s<=2?2:s<=5?5:10)*i}function Ot(t){const e=[],i=Math.sqrt(t);let s;for(s=1;s<i;s++)t%s==0&&(e.push(s),e.push(t/s));return i===(0|i)&&e.push(i),e.sort(((t,e)=>t-e)).pop(),e}function At(t){return!isNaN(parseFloat(t))&&isFinite(t)}function Tt(t,e,i){return Math.abs(t-e)<i}function Lt(t,e){const i=Math.round(t);return i-e<=t&&i+e>=t}function Rt(t,e,i){let s,n,o;for(s=0,n=t.length;s<n;s++)o=t[s][i],isNaN(o)||(e.min=Math.min(e.min,o),e.max=Math.max(e.max,o))}function Et(t){return t*(bt/180)}function It(t){return t*(180/bt)}function zt(t){if(!X(t))return;let e=1,i=0;for(;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Ft(t,e){const i=e.x-t.x,s=e.y-t.y,n=Math.sqrt(i*i+s*s);let o=Math.atan2(s,i);return o<-.5*bt&&(o+=_t),{angle:o,distance:n}}function Bt(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))}function Vt(t,e){return(t-e+yt)%_t-bt}function Wt(t){return(t%_t+_t)%_t}function Nt(t,e,i,s){const n=Wt(t),o=Wt(e),a=Wt(i),r=Wt(o-n),l=Wt(a-n),h=Wt(n-o),c=Wt(n-a);return n===o||n===a||s&&o===a||r>l&&h<c}function Ht(t,e,i){return Math.max(e,Math.min(i,t))}function jt(t){return Ht(t,-32768,32767)}function $t(t){return!t||$(t.size)||$(t.family)?null:(t.style?t.style+" ":"")+(t.weight?t.weight+" ":"")+t.size+"px "+t.family}function Yt(t,e,i,s,n){let o=e[n];return o||(o=e[n]=t.measureText(n).width,i.push(n)),o>s&&(s=o),s}function Ut(t,e,i,s){let n=(s=s||{}).data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==e&&(n=s.data={},o=s.garbageCollect=[],s.font=e),t.save(),t.font=e;let a=0;const r=i.length;let l,h,c,d,u;for(l=0;l<r;l++)if(d=i[l],null!=d&&!0!==Y(d))a=Yt(t,n,o,a,d);else if(Y(d))for(h=0,c=d.length;h<c;h++)u=d[h],null==u||Y(u)||(a=Yt(t,n,o,a,u));t.restore();const f=o.length/2;if(f>i.length){for(l=0;l<f;l++)delete n[o[l]];o.splice(0,f)}return a}function Xt(t,e,i){const s=t.currentDevicePixelRatio,n=0!==i?Math.max(i/2,.5):0;return Math.round((e-n)*s)/s+n}function qt(t,e){(e=e||t.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,t.width,t.height),e.restore()}function Kt(t,e,i,s){let n,o,a,r,l;const h=e.pointStyle,c=e.rotation,d=e.radius;let u=(c||0)*wt;if(h&&"object"==typeof h&&(n=h.toString(),"[object HTMLImageElement]"===n||"[object HTMLCanvasElement]"===n))return t.save(),t.translate(i,s),t.rotate(u),t.drawImage(h,-h.width/2,-h.height/2,h.width,h.height),void t.restore();if(!(isNaN(d)||d<=0)){switch(t.beginPath(),h){default:t.arc(i,s,d,0,_t),t.closePath();break;case"triangle":t.moveTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=St,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),u+=St,t.lineTo(i+Math.sin(u)*d,s-Math.cos(u)*d),t.closePath();break;case"rectRounded":l=.516*d,r=d-l,o=Math.cos(u+kt)*r,a=Math.sin(u+kt)*r,t.arc(i-o,s-a,l,u-bt,u-Mt),t.arc(i+a,s-o,l,u-Mt,u),t.arc(i+o,s+a,l,u,u+Mt),t.arc(i-a,s+o,l,u+Mt,u+bt),t.closePath();break;case"rect":if(!c){r=Math.SQRT1_2*d,t.rect(i-r,s-r,2*r,2*r);break}u+=kt;case"rectRot":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+a,s-o),t.lineTo(i+o,s+a),t.lineTo(i-a,s+o),t.closePath();break;case"crossRot":u+=kt;case"cross":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"star":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o),u+=kt,o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a),t.moveTo(i+a,s-o),t.lineTo(i-a,s+o);break;case"line":o=Math.cos(u)*d,a=Math.sin(u)*d,t.moveTo(i-o,s-a),t.lineTo(i+o,s+a);break;case"dash":t.moveTo(i,s),t.lineTo(i+Math.cos(u)*d,s+Math.sin(u)*d)}t.fill(),e.borderWidth>0&&t.stroke()}}function Gt(t,e,i){return i=i||.5,!e||t&&t.x>e.left-i&&t.x<e.right+i&&t.y>e.top-i&&t.y<e.bottom+i}function Zt(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()}function Qt(t){t.restore()}function Jt(t,e,i,s,n){if(!e)return t.lineTo(i.x,i.y);if("middle"===n){const s=(e.x+i.x)/2;t.lineTo(s,e.y),t.lineTo(s,i.y)}else"after"===n!=!!s?t.lineTo(e.x,i.y):t.lineTo(i.x,e.y);t.lineTo(i.x,i.y)}function te(t,e,i,s){if(!e)return t.lineTo(i.x,i.y);t.bezierCurveTo(s?e.cp1x:e.cp2x,s?e.cp1y:e.cp2y,s?i.cp2x:i.cp1x,s?i.cp2y:i.cp1y,i.x,i.y)}function ee(t,e,i,s,n,o={}){const a=Y(e)?e:[e],r=o.strokeWidth>0&&""!==o.strokeColor;let l,h;for(t.save(),t.font=n.string,function(t,e){e.translation&&t.translate(e.translation[0],e.translation[1]);$(e.rotation)||t.rotate(e.rotation);e.color&&(t.fillStyle=e.color);e.textAlign&&(t.textAlign=e.textAlign);e.textBaseline&&(t.textBaseline=e.textBaseline)}(t,o),l=0;l<a.length;++l)h=a[l],r&&(o.strokeColor&&(t.strokeStyle=o.strokeColor),$(o.strokeWidth)||(t.lineWidth=o.strokeWidth),t.strokeText(h,i,s,o.maxWidth)),t.fillText(h,i,s,o.maxWidth),ie(t,i,s,h,o),s+=n.lineHeight;t.restore()}function ie(t,e,i,s,n){if(n.strikethrough||n.underline){const o=t.measureText(s),a=e-o.actualBoundingBoxLeft,r=e+o.actualBoundingBoxRight,l=i-o.actualBoundingBoxAscent,h=i+o.actualBoundingBoxDescent,c=n.strikethrough?(l+h)/2:h;t.strokeStyle=t.fillStyle,t.beginPath(),t.lineWidth=n.decorationWidth||2,t.moveTo(a,c),t.lineTo(r,c),t.stroke()}}function se(t,e){const{x:i,y:s,w:n,h:o,radius:a}=e;t.arc(i+a.topLeft,s+a.topLeft,a.topLeft,-Mt,bt,!0),t.lineTo(i,s+o-a.bottomLeft),t.arc(i+a.bottomLeft,s+o-a.bottomLeft,a.bottomLeft,bt,Mt,!0),t.lineTo(i+n-a.bottomRight,s+o),t.arc(i+n-a.bottomRight,s+o-a.bottomRight,a.bottomRight,Mt,0,!0),t.lineTo(i+n,s+a.topRight),t.arc(i+n-a.topRight,s+a.topRight,a.topRight,0,-Mt,!0),t.lineTo(i+a.topLeft,s)}function ne(t,e,i){i=i||(i=>t[i]<e);let s,n=t.length-1,o=0;for(;n-o>1;)s=o+n>>1,i(s)?o=s:n=s;return{lo:o,hi:n}}const oe=(t,e,i)=>ne(t,i,(s=>t[s][e]<i)),ae=(t,e,i)=>ne(t,i,(s=>t[s][e]>=i));function re(t,e,i){let s=0,n=t.length;for(;s<n&&t[s]<e;)s++;for(;n>s&&t[n-1]>i;)n--;return s>0||n<t.length?t.slice(s,n):t}const le=["push","pop","shift","splice","unshift"];function he(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),le.forEach((e=>{const i="_onData"+ht(e),s=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value(...e){const n=s.apply(this,e);return t._chartjs.listeners.forEach((t=>{"function"==typeof t[i]&&t[i](...e)})),n}})})))}function ce(t,e){const i=t._chartjs;if(!i)return;const s=i.listeners,n=s.indexOf(e);-1!==n&&s.splice(n,1),s.length>0||(le.forEach((e=>{delete t[e]})),delete t._chartjs)}function de(t){const e=new Set;let i,s;for(i=0,s=t.length;i<s;++i)e.add(t[i]);return e.size===s?t:Array.from(e)}function ue(){return"undefined"!=typeof window&&"undefined"!=typeof document}function fe(t){let e=t.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function ge(t,e,i){let s;return"string"==typeof t?(s=parseInt(t,10),-1!==t.indexOf("%")&&(s=s/100*e.parentNode[i])):s=t,s}const pe=t=>window.getComputedStyle(t,null);function me(t,e){return pe(t).getPropertyValue(e)}const xe=["top","right","bottom","left"];function be(t,e,i){const s={};i=i?"-"+i:"";for(let n=0;n<4;n++){const o=xe[n];s[o]=parseFloat(t[e+"-"+o+i])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}function _e(t,e){const{canvas:i,currentDevicePixelRatio:s}=e,n=pe(i),o="border-box"===n.boxSizing,a=be(n,"padding"),r=be(n,"border","width"),{x:l,y:h,box:c}=function(t,e){const i=t.native||t,s=i.touches,n=s&&s.length?s[0]:i,{offsetX:o,offsetY:a}=n;let r,l,h=!1;if(((t,e,i)=>(t>0||e>0)&&(!i||!i.shadowRoot))(o,a,i.target))r=o,l=a;else{const t=e.getBoundingClientRect();r=n.clientX-t.left,l=n.clientY-t.top,h=!0}return{x:r,y:l,box:h}}(t,i),d=a.left+(c&&r.left),u=a.top+(c&&r.top);let{width:f,height:g}=e;return o&&(f-=a.width+r.width,g-=a.height+r.height),{x:Math.round((l-d)/f*i.width/s),y:Math.round((h-u)/g*i.height/s)}}const ye=t=>Math.round(10*t)/10;function ve(t,e,i,s){const n=pe(t),o=be(n,"margin"),a=ge(n.maxWidth,t,"clientWidth")||vt,r=ge(n.maxHeight,t,"clientHeight")||vt,l=function(t,e,i){let s,n;if(void 0===e||void 0===i){const o=fe(t);if(o){const t=o.getBoundingClientRect(),a=pe(o),r=be(a,"border","width"),l=be(a,"padding");e=t.width-l.width-r.width,i=t.height-l.height-r.height,s=ge(a.maxWidth,o,"clientWidth"),n=ge(a.maxHeight,o,"clientHeight")}else e=t.clientWidth,i=t.clientHeight}return{width:e,height:i,maxWidth:s||vt,maxHeight:n||vt}}(t,e,i);let{width:h,height:c}=l;if("content-box"===n.boxSizing){const t=be(n,"border","width"),e=be(n,"padding");h-=e.width+t.width,c-=e.height+t.height}return h=Math.max(0,h-o.width),c=Math.max(0,s?Math.floor(h/s):c-o.height),h=ye(Math.min(h,a,l.maxWidth)),c=ye(Math.min(c,r,l.maxHeight)),h&&!c&&(c=ye(h/2)),{width:h,height:c}}function we(t,e,i){const s=e||1,n=Math.floor(t.height*s),o=Math.floor(t.width*s);t.height=n/s,t.width=o/s;const a=t.canvas;return a.style&&(i||!a.style.height&&!a.style.width)&&(a.style.height=`${t.height}px`,a.style.width=`${t.width}px`),(t.currentDevicePixelRatio!==s||a.height!==n||a.width!==o)&&(t.currentDevicePixelRatio=s,a.height=n,a.width=o,t.ctx.setTransform(s,0,0,s,0,0),!0)}const Me=function(){let t=!1;try{const e={get passive(){return t=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(t){}return t}();function ke(t,e){const i=me(t,e),s=i&&i.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Se(t,e){return"native"in t?{x:t.x,y:t.y}:_e(t,e)}function Pe(t,e,i,s){const{controller:n,data:o,_sorted:a}=t,r=n._cachedMeta.iScale;if(r&&e===r.axis&&a&&o.length){const t=r._reversePixels?ae:oe;if(!s)return t(o,e,i);if(n._sharedOptions){const s=o[0],n="function"==typeof s.getRange&&s.getRange(e);if(n){const s=t(o,e,i-n),a=t(o,e,i+n);return{lo:s.lo,hi:a.hi}}}}return{lo:0,hi:o.length-1}}function De(t,e,i,s,n){const o=t.getSortedVisibleDatasetMetas(),a=i[e];for(let t=0,i=o.length;t<i;++t){const{index:i,data:r}=o[t],{lo:l,hi:h}=Pe(o[t],e,a,n);for(let t=l;t<=h;++t){const e=r[t];e.skip||s(e,i,t)}}}function Ce(t,e,i,s){const n=[];if(!Gt(e,t.chartArea,t._minPadding))return n;return De(t,i,e,(function(t,i,o){t.inRange(e.x,e.y,s)&&n.push({element:t,datasetIndex:i,index:o})}),!0),n}function Oe(t,e,i,s,n){const o=function(t){const e=-1!==t.indexOf("x"),i=-1!==t.indexOf("y");return function(t,s){const n=e?Math.abs(t.x-s.x):0,o=i?Math.abs(t.y-s.y):0;return Math.sqrt(Math.pow(n,2)+Math.pow(o,2))}}(i);let a=Number.POSITIVE_INFINITY,r=[];if(!Gt(e,t.chartArea,t._minPadding))return r;return De(t,i,e,(function(i,l,h){if(s&&!i.inRange(e.x,e.y,n))return;const c=i.getCenterPoint(n);if(!Gt(c,t.chartArea,t._minPadding)&&!i.inRange(e.x,e.y,n))return;const d=o(e,c);d<a?(r=[{element:i,datasetIndex:l,index:h}],a=d):d===a&&r.push({element:i,datasetIndex:l,index:h})})),r}function Ae(t,e,i,s){const n=Se(e,t),o=[],a=i.axis,r="x"===a?"inXRange":"inYRange";let l=!1;return function(t,e){const i=t.getSortedVisibleDatasetMetas();let s,n,o;for(let t=0,a=i.length;t<a;++t){({index:s,data:n}=i[t]);for(let t=0,i=n.length;t<i;++t)o=n[t],o.skip||e(o,s,t)}}(t,((t,e,i)=>{t[r](n[a],s)&&o.push({element:t,datasetIndex:e,index:i}),t.inRange(n.x,n.y,s)&&(l=!0)})),i.intersect&&!l?[]:o}var Te={modes:{index(t,e,i,s){const n=Se(e,t),o=i.axis||"x",a=i.intersect?Ce(t,n,o,s):Oe(t,n,o,!1,s),r=[];return a.length?(t.getSortedVisibleDatasetMetas().forEach((t=>{const e=a[0].index,i=t.data[e];i&&!i.skip&&r.push({element:i,datasetIndex:t.index,index:e})})),r):[]},dataset(t,e,i,s){const n=Se(e,t),o=i.axis||"xy";let a=i.intersect?Ce(t,n,o,s):Oe(t,n,o,!1,s);if(a.length>0){const e=a[0].datasetIndex,i=t.getDatasetMeta(e).data;a=[];for(let t=0;t<i.length;++t)a.push({element:i[t],datasetIndex:e,index:t})}return a},point:(t,e,i,s)=>Ce(t,Se(e,t),i.axis||"xy",s),nearest:(t,e,i,s)=>Oe(t,Se(e,t),i.axis||"xy",i.intersect,s),x:(t,e,i,s)=>(i.axis="x",Ae(t,e,i,s)),y:(t,e,i,s)=>(i.axis="y",Ae(t,e,i,s))}};const Le=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),Re=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function Ee(t,e){const i=(""+t).match(Le);if(!i||"normal"===i[1])return 1.2*e;switch(t=+i[2],i[3]){case"px":return t;case"%":t/=100}return e*t}function Ie(t,e){const i={},s=U(e),n=s?Object.keys(e):e,o=U(t)?s?i=>K(t[i],t[e[i]]):e=>t[e]:()=>t;for(const t of n)i[t]=+o(t)||0;return i}function ze(t){return Ie(t,{top:"y",right:"x",bottom:"y",left:"x"})}function Fe(t){return Ie(t,["topLeft","topRight","bottomLeft","bottomRight"])}function Be(t){const e=ze(t);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function Ve(t,e){t=t||{},e=e||xt.font;let i=K(t.size,e.size);"string"==typeof i&&(i=parseInt(i,10));let s=K(t.style,e.style);s&&!(""+s).match(Re)&&(console.warn('Invalid font style specified: "'+s+'"'),s="");const n={family:K(t.family,e.family),lineHeight:Ee(K(t.lineHeight,e.lineHeight),i),size:i,style:s,weight:K(t.weight,e.weight),string:""};return n.string=$t(n),n}function We(t,e,i,s){let n,o,a,r=!0;for(n=0,o=t.length;n<o;++n)if(a=t[n],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==i&&Y(a)&&(a=a[i%a.length],r=!1),void 0!==a))return s&&!r&&(s.cacheable=!1),a}function Ne(t,e,i){const{min:s,max:n}=t,o=Z(e,(n-s)/2),a=(t,e)=>i&&0===t?0:t+e;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function He(t,e){return Object.assign(Object.create(t),e)}const je=["left","top","right","bottom"];function $e(t,e){return t.filter((t=>t.pos===e))}function Ye(t,e){return t.filter((t=>-1===je.indexOf(t.pos)&&t.box.axis===e))}function Ue(t,e){return t.sort(((t,i)=>{const s=e?i:t,n=e?t:i;return s.weight===n.weight?s.index-n.index:s.weight-n.weight}))}function Xe(t,e){const i=function(t){const e={};for(const i of t){const{stack:t,pos:s,stackWeight:n}=i;if(!t||!je.includes(s))continue;const o=e[t]||(e[t]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=n}return e}(t),{vBoxMaxWidth:s,hBoxMaxHeight:n}=e;let o,a,r;for(o=0,a=t.length;o<a;++o){r=t[o];const{fullSize:a}=r.box,l=i[r.stack],h=l&&r.stackWeight/l.weight;r.horizontal?(r.width=h?h*s:a&&e.availableWidth,r.height=n):(r.width=s,r.height=h?h*n:a&&e.availableHeight)}return i}function qe(t,e,i,s){return Math.max(t[i],e[i])+Math.max(t[s],e[s])}function Ke(t,e){t.top=Math.max(t.top,e.top),t.left=Math.max(t.left,e.left),t.bottom=Math.max(t.bottom,e.bottom),t.right=Math.max(t.right,e.right)}function Ge(t,e,i,s){const{pos:n,box:o}=i,a=t.maxPadding;if(!U(n)){i.size&&(t[n]-=i.size);const e=s[i.stack]||{size:0,count:1};e.size=Math.max(e.size,i.horizontal?o.height:o.width),i.size=e.size/e.count,t[n]+=i.size}o.getPadding&&Ke(a,o.getPadding());const r=Math.max(0,e.outerWidth-qe(a,t,"left","right")),l=Math.max(0,e.outerHeight-qe(a,t,"top","bottom")),h=r!==t.w,c=l!==t.h;return t.w=r,t.h=l,i.horizontal?{same:h,other:c}:{same:c,other:h}}function Ze(t,e){const i=e.maxPadding;function s(t){const s={left:0,top:0,right:0,bottom:0};return t.forEach((t=>{s[t]=Math.max(e[t],i[t])})),s}return s(t?["left","right"]:["top","bottom"])}function Qe(t,e,i,s){const n=[];let o,a,r,l,h,c;for(o=0,a=t.length,h=0;o<a;++o){r=t[o],l=r.box,l.update(r.width||e.w,r.height||e.h,Ze(r.horizontal,e));const{same:a,other:d}=Ge(e,i,r,s);h|=a&&n.length,c=c||d,l.fullSize||n.push(r)}return h&&Qe(n,e,i,s)||c}function Je(t,e,i,s,n){t.top=i,t.left=e,t.right=e+s,t.bottom=i+n,t.width=s,t.height=n}function ti(t,e,i,s){const n=i.padding;let{x:o,y:a}=e;for(const r of t){const t=r.box,l=s[r.stack]||{count:1,placed:0,weight:1},h=r.stackWeight/l.weight||1;if(r.horizontal){const s=e.w*h,o=l.size||t.height;ct(l.start)&&(a=l.start),t.fullSize?Je(t,n.left,a,i.outerWidth-n.right-n.left,o):Je(t,e.left+l.placed,a,s,o),l.start=a,l.placed+=s,a=t.bottom}else{const s=e.h*h,a=l.size||t.width;ct(l.start)&&(o=l.start),t.fullSize?Je(t,o,n.top,a,i.outerHeight-n.bottom-n.top):Je(t,o,e.top+l.placed,a,s),l.start=o,l.placed+=s,o=t.right}}e.x=o,e.y=a}xt.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var ei={addBox(t,e){t.boxes||(t.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},t.boxes.push(e)},removeBox(t,e){const i=t.boxes?t.boxes.indexOf(e):-1;-1!==i&&t.boxes.splice(i,1)},configure(t,e,i){e.fullSize=i.fullSize,e.position=i.position,e.weight=i.weight},update(t,e,i,s){if(!t)return;const n=Be(t.options.layout.padding),o=Math.max(e-n.width,0),a=Math.max(i-n.height,0),r=function(t){const e=function(t){const e=[];let i,s,n,o,a,r;for(i=0,s=(t||[]).length;i<s;++i)n=t[i],({position:o,options:{stack:a,stackWeight:r=1}}=n),e.push({index:i,box:n,pos:o,horizontal:n.isHorizontal(),weight:n.weight,stack:a&&o+a,stackWeight:r});return e}(t),i=Ue(e.filter((t=>t.box.fullSize)),!0),s=Ue($e(e,"left"),!0),n=Ue($e(e,"right")),o=Ue($e(e,"top"),!0),a=Ue($e(e,"bottom")),r=Ye(e,"x"),l=Ye(e,"y");return{fullSize:i,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:$e(e,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}(t.boxes),l=r.vertical,h=r.horizontal;J(t.boxes,(t=>{"function"==typeof t.beforeLayout&&t.beforeLayout()}));const c=l.reduce(((t,e)=>e.box.options&&!1===e.box.options.display?t:t+1),0)||1,d=Object.freeze({outerWidth:e,outerHeight:i,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/c,hBoxMaxHeight:a/2}),u=Object.assign({},n);Ke(u,Be(s));const f=Object.assign({maxPadding:u,w:o,h:a,x:n.left,y:n.top},n),g=Xe(l.concat(h),d);Qe(r.fullSize,f,d,g),Qe(l,f,d,g),Qe(h,f,d,g)&&Qe(l,f,d,g),function(t){const e=t.maxPadding;function i(i){const s=Math.max(e[i]-t[i],0);return t[i]+=s,s}t.y+=i("top"),t.x+=i("left"),i("right"),i("bottom")}(f),ti(r.leftAndTop,f,d,g),f.x+=f.w,f.y+=f.h,ti(r.rightAndBottom,f,d,g),t.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},J(r.chartArea,(e=>{const i=e.box;Object.assign(i,t.chartArea),i.update(f.w,f.h)}))}};function ii(t,e=[""],i=t,s,n=(()=>t[0])){ct(s)||(s=fi("_fallback",t));const o={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:t,_rootScopes:i,_fallback:s,_getTarget:n,override:n=>ii([n,...t],e,i,s)};return new Proxy(o,{deleteProperty:(e,i)=>(delete e[i],delete e._keys,delete t[0][i],!0),get:(i,s)=>ri(i,s,(()=>function(t,e,i,s){let n;for(const o of e)if(n=fi(oi(o,t),i),ct(n))return ai(t,n)?di(i,s,t,n):n}(s,e,t,i))),getOwnPropertyDescriptor:(t,e)=>Reflect.getOwnPropertyDescriptor(t._scopes[0],e),getPrototypeOf:()=>Reflect.getPrototypeOf(t[0]),has:(t,e)=>gi(t).includes(e),ownKeys:t=>gi(t),set:(t,e,i)=>((t._storage||(t._storage=n()))[e]=i,delete t[e],delete t._keys,!0)})}function si(t,e,i,s){const n={_cacheable:!1,_proxy:t,_context:e,_subProxy:i,_stack:new Set,_descriptors:ni(t,s),setContext:e=>si(t,e,i,s),override:n=>si(t.override(n),e,i,s)};return new Proxy(n,{deleteProperty:(e,i)=>(delete e[i],delete t[i],!0),get:(t,e,i)=>ri(t,e,(()=>function(t,e,i){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=t;let r=s[e];dt(r)&&a.isScriptable(e)&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=i;if(r.has(t))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+t);r.add(t),e=e(o,a||s),r.delete(t),U(e)&&(e=di(n._scopes,n,t,e));return e}(e,r,t,i));Y(r)&&r.length&&(r=function(t,e,i,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=i;if(ct(o.index)&&s(t))e=e[o.index%e.length];else if(U(e[0])){const i=e,s=n._scopes.filter((t=>t!==i));e=[];for(const l of i){const i=di(s,n,t,l);e.push(si(i,o,a&&a[t],r))}}return e}(e,r,t,a.isIndexable));ai(e,r)&&(r=si(r,n,o&&o[e],a));return r}(t,e,i))),getOwnPropertyDescriptor:(e,i)=>e._descriptors.allKeys?Reflect.has(t,i)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(t,i),getPrototypeOf:()=>Reflect.getPrototypeOf(t),has:(e,i)=>Reflect.has(t,i),ownKeys:()=>Reflect.ownKeys(t),set:(e,i,s)=>(t[i]=s,delete e[i],!0)})}function ni(t,e={scriptable:!0,indexable:!0}){const{_scriptable:i=e.scriptable,_indexable:s=e.indexable,_allKeys:n=e.allKeys}=t;return{allKeys:n,scriptable:i,indexable:s,isScriptable:dt(i)?i:()=>i,isIndexable:dt(s)?s:()=>s}}const oi=(t,e)=>t?t+ht(e):e,ai=(t,e)=>U(e)&&"adapters"!==t;function ri(t,e,i){if(Object.prototype.hasOwnProperty.call(t,e))return t[e];const s=i();return t[e]=s,s}function li(t,e,i){return dt(t)?t(e,i):t}const hi=(t,e)=>!0===t?e:"string"==typeof t?lt(e,t):void 0;function ci(t,e,i,s){for(const n of e){const e=hi(i,n);if(e){t.add(e);const n=li(e._fallback,i,e);if(ct(n)&&n!==i&&n!==s)return n}else if(!1===e&&ct(s)&&i!==s)return null}return!1}function di(t,e,i,s){const n=e._rootScopes,o=li(e._fallback,i,s),a=[...t,...n],r=new Set;r.add(s);let l=ui(r,a,i,o||i);return null!==l&&((!ct(o)||o===i||(l=ui(r,a,o,l),null!==l))&&ii(Array.from(r),[""],n,o,(()=>function(t,e,i){const s=t._getTarget();e in s||(s[e]={});const n=s[e];if(Y(n)&&U(i))return i;return n}(e,i,s))))}function ui(t,e,i,s){for(;i;)i=ci(t,e,i,s);return i}function fi(t,e){for(const i of e){if(!i)continue;const e=i[t];if(ct(e))return e}}function gi(t){let e=t._keys;return e||(e=t._keys=function(t){const e=new Set;for(const i of t)for(const t of Object.keys(i).filter((t=>!t.startsWith("_"))))e.add(t);return Array.from(e)}(t._scopes)),e}const pi=Number.EPSILON||1e-14,mi=(t,e)=>e<t.length&&!t[e].skip&&t[e],xi=t=>"x"===t?"y":"x";function bi(t,e,i,s){const n=t.skip?e:t,o=e,a=i.skip?e:i,r=Bt(o,n),l=Bt(a,o);let h=r/(r+l),c=l/(r+l);h=isNaN(h)?0:h,c=isNaN(c)?0:c;const d=s*h,u=s*c;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+u*(a.x-n.x),y:o.y+u*(a.y-n.y)}}}function _i(t,e="x"){const i=xi(e),s=t.length,n=Array(s).fill(0),o=Array(s);let a,r,l,h=mi(t,0);for(a=0;a<s;++a)if(r=l,l=h,h=mi(t,a+1),l){if(h){const t=h[e]-l[e];n[a]=0!==t?(h[i]-l[i])/t:0}o[a]=r?h?Dt(n[a-1])!==Dt(n[a])?0:(n[a-1]+n[a])/2:n[a-1]:n[a]}!function(t,e,i){const s=t.length;let n,o,a,r,l,h=mi(t,0);for(let c=0;c<s-1;++c)l=h,h=mi(t,c+1),l&&h&&(Tt(e[c],0,pi)?i[c]=i[c+1]=0:(n=i[c]/e[c],o=i[c+1]/e[c],r=Math.pow(n,2)+Math.pow(o,2),r<=9||(a=3/Math.sqrt(r),i[c]=n*a*e[c],i[c+1]=o*a*e[c])))}(t,n,o),function(t,e,i="x"){const s=xi(i),n=t.length;let o,a,r,l=mi(t,0);for(let h=0;h<n;++h){if(a=r,r=l,l=mi(t,h+1),!r)continue;const n=r[i],c=r[s];a&&(o=(n-a[i])/3,r[`cp1${i}`]=n-o,r[`cp1${s}`]=c-o*e[h]),l&&(o=(l[i]-n)/3,r[`cp2${i}`]=n+o,r[`cp2${s}`]=c+o*e[h])}}(t,o,e)}function yi(t,e,i){return Math.max(Math.min(t,i),e)}function vi(t,e,i,s,n){let o,a,r,l;if(e.spanGaps&&(t=t.filter((t=>!t.skip))),"monotone"===e.cubicInterpolationMode)_i(t,n);else{let i=s?t[t.length-1]:t[0];for(o=0,a=t.length;o<a;++o)r=t[o],l=bi(i,r,t[Math.min(o+1,a-(s?0:1))%a],e.tension),r.cp1x=l.previous.x,r.cp1y=l.previous.y,r.cp2x=l.next.x,r.cp2y=l.next.y,i=r}e.capBezierPoints&&function(t,e){let i,s,n,o,a,r=Gt(t[0],e);for(i=0,s=t.length;i<s;++i)a=o,o=r,r=i<s-1&&Gt(t[i+1],e),o&&(n=t[i],a&&(n.cp1x=yi(n.cp1x,e.left,e.right),n.cp1y=yi(n.cp1y,e.top,e.bottom)),r&&(n.cp2x=yi(n.cp2x,e.left,e.right),n.cp2y=yi(n.cp2y,e.top,e.bottom)))}(t,i)}const wi=t=>0===t||1===t,Mi=(t,e,i)=>-Math.pow(2,10*(t-=1))*Math.sin((t-e)*_t/i),ki=(t,e,i)=>Math.pow(2,-10*t)*Math.sin((t-e)*_t/i)+1,Si={linear:t=>t,easeInQuad:t=>t*t,easeOutQuad:t=>-t*(t-2),easeInOutQuad:t=>(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1),easeInCubic:t=>t*t*t,easeOutCubic:t=>(t-=1)*t*t+1,easeInOutCubic:t=>(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2),easeInQuart:t=>t*t*t*t,easeOutQuart:t=>-((t-=1)*t*t*t-1),easeInOutQuart:t=>(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2),easeInQuint:t=>t*t*t*t*t,easeOutQuint:t=>(t-=1)*t*t*t*t+1,easeInOutQuint:t=>(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2),easeInSine:t=>1-Math.cos(t*Mt),easeOutSine:t=>Math.sin(t*Mt),easeInOutSine:t=>-.5*(Math.cos(bt*t)-1),easeInExpo:t=>0===t?0:Math.pow(2,10*(t-1)),easeOutExpo:t=>1===t?1:1-Math.pow(2,-10*t),easeInOutExpo:t=>wi(t)?t:t<.5?.5*Math.pow(2,10*(2*t-1)):.5*(2-Math.pow(2,-10*(2*t-1))),easeInCirc:t=>t>=1?t:-(Math.sqrt(1-t*t)-1),easeOutCirc:t=>Math.sqrt(1-(t-=1)*t),easeInOutCirc:t=>(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1),easeInElastic:t=>wi(t)?t:Mi(t,.075,.3),easeOutElastic:t=>wi(t)?t:ki(t,.075,.3),easeInOutElastic(t){const e=.1125;return wi(t)?t:t<.5?.5*Mi(2*t,e,.45):.5+.5*ki(2*t-1,e,.45)},easeInBack(t){const e=1.70158;return t*t*((e+1)*t-e)},easeOutBack(t){const e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack(t){let e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:t=>1-Si.easeOutBounce(1-t),easeOutBounce(t){const e=7.5625,i=2.75;return t<1/i?e*t*t:t<2/i?e*(t-=1.5/i)*t+.75:t<2.5/i?e*(t-=2.25/i)*t+.9375:e*(t-=2.625/i)*t+.984375},easeInOutBounce:t=>t<.5?.5*Si.easeInBounce(2*t):.5*Si.easeOutBounce(2*t-1)+.5};function Pi(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:t.y+i*(e.y-t.y)}}function Di(t,e,i,s){return{x:t.x+i*(e.x-t.x),y:"middle"===s?i<.5?t.y:e.y:"after"===s?i<1?t.y:e.y:i>0?e.y:t.y}}function Ci(t,e,i,s){const n={x:t.cp2x,y:t.cp2y},o={x:e.cp1x,y:e.cp1y},a=Pi(t,n,i),r=Pi(n,o,i),l=Pi(o,e,i),h=Pi(a,r,i),c=Pi(r,l,i);return Pi(h,c,i)}const Oi=new Map;function Ai(t,e,i){return function(t,e){e=e||{};const i=t+JSON.stringify(e);let s=Oi.get(i);return s||(s=new Intl.NumberFormat(t,e),Oi.set(i,s)),s}(e,i).format(t)}function Ti(t,e,i){return t?function(t,e){return{x:i=>t+t+e-i,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,e)=>t-e,leftForLtr:(t,e)=>t-e}}(e,i):{x:t=>t,setWidth(t){},textAlign:t=>t,xPlus:(t,e)=>t+e,leftForLtr:(t,e)=>t}}function Li(t,e){let i,s;"ltr"!==e&&"rtl"!==e||(i=t.canvas.style,s=[i.getPropertyValue("direction"),i.getPropertyPriority("direction")],i.setProperty("direction",e,"important"),t.prevTextDirection=s)}function Ri(t,e){void 0!==e&&(delete t.prevTextDirection,t.canvas.style.setProperty("direction",e[0],e[1]))}function Ei(t){return"angle"===t?{between:Nt,compare:Vt,normalize:Wt}:{between:(t,e,i)=>t>=Math.min(e,i)&&t<=Math.max(i,e),compare:(t,e)=>t-e,normalize:t=>t}}function Ii({start:t,end:e,count:i,loop:s,style:n}){return{start:t%i,end:e%i,loop:s&&(e-t+1)%i==0,style:n}}function zi(t,e,i){if(!i)return[t];const{property:s,start:n,end:o}=i,a=e.length,{compare:r,between:l,normalize:h}=Ei(s),{start:c,end:d,loop:u,style:f}=function(t,e,i){const{property:s,start:n,end:o}=i,{between:a,normalize:r}=Ei(s),l=e.length;let h,c,{start:d,end:u,loop:f}=t;if(f){for(d+=l,u+=l,h=0,c=l;h<c&&a(r(e[d%l][s]),n,o);++h)d--,u--;d%=l,u%=l}return u<d&&(u+=l),{start:d,end:u,loop:f,style:t.style}}(t,e,i),g=[];let p,m,x,b=!1,_=null;const y=()=>b||l(n,x,p)&&0!==r(n,x),v=()=>!b||0===r(o,p)||l(o,x,p);for(let t=c,i=c;t<=d;++t)m=e[t%a],m.skip||(p=h(m[s]),p!==x&&(b=l(p,n,o),null===_&&y()&&(_=0===r(p,n)?t:i),null!==_&&v()&&(g.push(Ii({start:_,end:t,loop:u,count:a,style:f})),_=null),i=t,x=p));return null!==_&&g.push(Ii({start:_,end:d,loop:u,count:a,style:f})),g}function Fi(t,e){const i=[],s=t.segments;for(let n=0;n<s.length;n++){const o=zi(s[n],t.points,e);o.length&&i.push(...o)}return i}function Bi(t,e){const i=t.points,s=t.options.spanGaps,n=i.length;if(!n)return[];const o=!!t._loop,{start:a,end:r}=function(t,e,i,s){let n=0,o=e-1;if(i&&!s)for(;n<e&&!t[n].skip;)n++;for(;n<e&&t[n].skip;)n++;for(n%=e,i&&(o+=n);o>n&&t[o%e].skip;)o--;return o%=e,{start:n,end:o}}(i,n,o,s);if(!0===s)return Vi(t,[{start:a,end:r,loop:o}],i,e);return Vi(t,function(t,e,i,s){const n=t.length,o=[];let a,r=e,l=t[e];for(a=e+1;a<=i;++a){const i=t[a%n];i.skip||i.stop?l.skip||(s=!1,o.push({start:e%n,end:(a-1)%n,loop:s}),e=r=i.stop?a:null):(r=a,l.skip&&(e=a)),l=i}return null!==r&&o.push({start:e%n,end:r%n,loop:s}),o}(i,a,r<a?r+n:r,!!t._fullLoop&&0===a&&r===n-1),i,e)}function Vi(t,e,i,s){return s&&s.setContext&&i?function(t,e,i,s){const n=t._chart.getContext(),o=Wi(t.options),{_datasetIndex:a,options:{spanGaps:r}}=t,l=i.length,h=[];let c=o,d=e[0].start,u=d;function f(t,e,s,n){const o=r?-1:1;if(t!==e){for(t+=l;i[t%l].skip;)t-=o;for(;i[e%l].skip;)e+=o;t%l!=e%l&&(h.push({start:t%l,end:e%l,loop:s,style:n}),c=n,d=e%l)}}for(const t of e){d=r?d:t.start;let e,o=i[d%l];for(u=d+1;u<=t.end;u++){const r=i[u%l];e=Wi(s.setContext(He(n,{type:"segment",p0:o,p1:r,p0DataIndex:(u-1)%l,p1DataIndex:u%l,datasetIndex:a}))),Ni(e,c)&&f(d,u-1,t.loop,c),o=r,c=e}d<u-1&&f(d,u-1,t.loop,c)}return h}(t,e,i,s):e}function Wi(t){return{backgroundColor:t.backgroundColor,borderCapStyle:t.borderCapStyle,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderJoinStyle:t.borderJoinStyle,borderWidth:t.borderWidth,borderColor:t.borderColor}}function Ni(t,e){return e&&JSON.stringify(t)!==JSON.stringify(e)}var Hi=Object.freeze({__proto__:null,easingEffects:Si,color:W,getHoverColor:N,noop:H,uid:j,isNullOrUndef:$,isArray:Y,isObject:U,isFinite:X,finiteOrDefault:q,valueOrDefault:K,toPercentage:G,toDimension:Z,callback:Q,each:J,_elementsEqual:tt,clone:et,_merger:st,merge:nt,mergeIf:ot,_mergerIf:at,_deprecated:function(t,e,i,s){void 0!==e&&console.warn(t+': "'+i+'" is deprecated. Please use "'+s+'" instead')},resolveObjectKey:lt,_capitalize:ht,defined:ct,isFunction:dt,setsEqual:ut,toFontString:$t,_measureText:Yt,_longestText:Ut,_alignPixel:Xt,clearCanvas:qt,drawPoint:Kt,_isPointInArea:Gt,clipArea:Zt,unclipArea:Qt,_steppedLineTo:Jt,_bezierCurveTo:te,renderText:ee,addRoundedRectPath:se,_lookup:ne,_lookupByKey:oe,_rlookupByKey:ae,_filterBetween:re,listenArrayEvents:he,unlistenArrayEvents:ce,_arrayUnique:de,_createResolver:ii,_attachContext:si,_descriptors:ni,splineCurve:bi,splineCurveMonotone:_i,_updateBezierControlPoints:vi,_isDomSupported:ue,_getParentNode:fe,getStyle:me,getRelativePosition:_e,getMaximumSize:ve,retinaScale:we,supportsEventListenerOptions:Me,readUsedSize:ke,fontString:function(t,e,i){return e+" "+t+"px "+i},requestAnimFrame:t,throttled:e,debounce:i,_toLeftRightCenter:s,_alignStartEnd:n,_textX:o,_pointInLine:Pi,_steppedInterpolation:Di,_bezierInterpolation:Ci,formatNumber:Ai,toLineHeight:Ee,_readValueToProps:Ie,toTRBL:ze,toTRBLCorners:Fe,toPadding:Be,toFont:Ve,resolve:We,_addGrace:Ne,createContext:He,PI:bt,TAU:_t,PITAU:yt,INFINITY:vt,RAD_PER_DEG:wt,HALF_PI:Mt,QUARTER_PI:kt,TWO_THIRDS_PI:St,log10:Pt,sign:Dt,niceNum:Ct,_factorize:Ot,isNumber:At,almostEquals:Tt,almostWhole:Lt,_setMinAndMaxByKey:Rt,toRadians:Et,toDegrees:It,_decimalPlaces:zt,getAngleFromPoint:Ft,distanceBetweenPoints:Bt,_angleDiff:Vt,_normalizeAngle:Wt,_angleBetween:Nt,_limitValue:Ht,_int16Range:jt,getRtlAdapter:Ti,overrideTextDirection:Li,restoreTextDirection:Ri,_boundSegment:zi,_boundSegments:Fi,_computeSegments:Bi});class ji{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,i){}removeEventListener(t,e,i){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,i,s){return e=Math.max(0,e||t.width),i=i||t.height,{width:e,height:Math.max(0,s?Math.floor(e/s):i)}}isAttached(t){return!0}updateConfig(t){}}class $i extends ji{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const Yi={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ui=t=>null===t||""===t;const Xi=!!Me&&{passive:!0};function qi(t,e,i){t.canvas.removeEventListener(e,i,Xi)}function Ki(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{for(const e of t)for(const t of e.addedNodes)if(t===s||t.contains(s))return i()}));return n.observe(document,{childList:!0,subtree:!0}),n}function Gi(t,e,i){const s=t.canvas,n=new MutationObserver((t=>{for(const e of t)for(const t of e.removedNodes)if(t===s||t.contains(s))return i()}));return n.observe(document,{childList:!0,subtree:!0}),n}const Zi=new Map;let Qi=0;function Ji(){const t=window.devicePixelRatio;t!==Qi&&(Qi=t,Zi.forEach(((e,i)=>{i.currentDevicePixelRatio!==t&&e()})))}function ts(t,i,s){const n=t.canvas,o=n&&fe(n);if(!o)return;const a=e(((t,e)=>{const i=o.clientWidth;s(t,e),i<o.clientWidth&&s()}),window),r=new ResizeObserver((t=>{const e=t[0],i=e.contentRect.width,s=e.contentRect.height;0===i&&0===s||a(i,s)}));return r.observe(o),function(t,e){Zi.size||window.addEventListener("resize",Ji),Zi.set(t,e)}(t,a),r}function es(t,e,i){i&&i.disconnect(),"resize"===e&&function(t){Zi.delete(t),Zi.size||window.removeEventListener("resize",Ji)}(t)}function is(t,i,s){const n=t.canvas,o=e((e=>{null!==t.ctx&&s(function(t,e){const i=Yi[t.type]||t.type,{x:s,y:n}=_e(t,e);return{type:i,chart:e,native:t,x:void 0!==s?s:null,y:void 0!==n?n:null}}(e,t))}),t,(t=>{const e=t[0];return[e,e.offsetX,e.offsetY]}));return function(t,e,i){t.addEventListener(e,i,Xi)}(n,i,o),o}class ss extends ji{acquireContext(t,e){const i=t&&t.getContext&&t.getContext("2d");return i&&i.canvas===t?(function(t,e){const i=t.style,s=t.getAttribute("height"),n=t.getAttribute("width");if(t.$chartjs={initial:{height:s,width:n,style:{display:i.display,height:i.height,width:i.width}}},i.display=i.display||"block",i.boxSizing=i.boxSizing||"border-box",Ui(n)){const e=ke(t,"width");void 0!==e&&(t.width=e)}if(Ui(s))if(""===t.style.height)t.height=t.width/(e||2);else{const e=ke(t,"height");void 0!==e&&(t.height=e)}}(t,e),i):null}releaseContext(t){const e=t.canvas;if(!e.$chartjs)return!1;const i=e.$chartjs.initial;["height","width"].forEach((t=>{const s=i[t];$(s)?e.removeAttribute(t):e.setAttribute(t,s)}));const s=i.style||{};return Object.keys(s).forEach((t=>{e.style[t]=s[t]})),e.width=e.width,delete e.$chartjs,!0}addEventListener(t,e,i){this.removeEventListener(t,e);const s=t.$proxies||(t.$proxies={}),n={attach:Ki,detach:Gi,resize:ts}[e]||is;s[e]=n(t,e,i)}removeEventListener(t,e){const i=t.$proxies||(t.$proxies={}),s=i[e];if(!s)return;({attach:es,detach:es,resize:es}[e]||qi)(t,e,s),i[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,i,s){return ve(t,e,i,s)}isAttached(t){const e=fe(t);return!(!e||!e.isConnected)}}function ns(t){return!ue()||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas?$i:ss}var os=Object.freeze({__proto__:null,_detectPlatform:ns,BasePlatform:ji,BasicPlatform:$i,DomPlatform:ss});const as="transparent",rs={boolean:(t,e,i)=>i>.5?e:t,color(t,e,i){const s=W(t||as),n=s.valid&&W(e||as);return n&&n.valid?n.mix(s,i).hexString():e},number:(t,e,i)=>t+(e-t)*i};class ls{constructor(t,e,i,s){const n=e[i];s=We([t.to,s,n,t.from]);const o=We([t.from,n,s]);this._active=!0,this._fn=t.fn||rs[t.type||typeof o],this._easing=Si[t.easing]||Si.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=i,this._from=o,this._to=s,this._promises=void 0}active(){return this._active}update(t,e,i){if(this._active){this._notify(!1);const s=this._target[this._prop],n=i-this._start,o=this._duration-n;this._start=i,this._duration=Math.floor(Math.max(o,t.duration)),this._total+=n,this._loop=!!t.loop,this._to=We([t.to,e,s,t.from]),this._from=We([t.from,s,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,i=this._duration,s=this._prop,n=this._from,o=this._loop,a=this._to;let r;if(this._active=n!==a&&(o||e<i),!this._active)return this._target[s]=a,void this._notify(!0);e<0?this._target[s]=n:(r=e/i%2,r=o&&r>1?2-r:r,r=this._easing(Math.min(1,Math.max(0,r))),this._target[s]=this._fn(n,a,r))}wait(){const t=this._promises||(this._promises=[]);return new Promise(((e,i)=>{t.push({res:e,rej:i})}))}_notify(t){const e=t?"res":"rej",i=this._promises||[];for(let t=0;t<i.length;t++)i[t][e]()}}xt.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const hs=Object.keys(xt.animation);xt.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>"onProgress"!==t&&"onComplete"!==t&&"fn"!==t}),xt.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),xt.describe("animations",{_fallback:"animation"}),xt.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>0|t}}}});class cs{constructor(t,e){this._chart=t,this._properties=new Map,this.configure(e)}configure(t){if(!U(t))return;const e=this._properties;Object.getOwnPropertyNames(t).forEach((i=>{const s=t[i];if(!U(s))return;const n={};for(const t of hs)n[t]=s[t];(Y(s.properties)&&s.properties||[i]).forEach((t=>{t!==i&&e.has(t)||e.set(t,n)}))}))}_animateOptions(t,e){const i=e.options,s=function(t,e){if(!e)return;let i=t.options;if(!i)return void(t.options=e);i.$shared&&(t.options=i=Object.assign({},i,{$shared:!1,$animations:{}}));return i}(t,i);if(!s)return[];const n=this._createAnimations(s,i);return i.$shared&&function(t,e){const i=[],s=Object.keys(e);for(let e=0;e<s.length;e++){const n=t[s[e]];n&&n.active()&&i.push(n.wait())}return Promise.all(i)}(t.options.$animations,i).then((()=>{t.options=i}),(()=>{})),n}_createAnimations(t,e){const i=this._properties,s=[],n=t.$animations||(t.$animations={}),o=Object.keys(e),a=Date.now();let r;for(r=o.length-1;r>=0;--r){const l=o[r];if("$"===l.charAt(0))continue;if("options"===l){s.push(...this._animateOptions(t,e));continue}const h=e[l];let c=n[l];const d=i.get(l);if(c){if(d&&c.active()){c.update(d,h,a);continue}c.cancel()}d&&d.duration?(n[l]=c=new ls(d,t,l,h),s.push(c)):t[l]=h}return s}update(t,e){if(0===this._properties.size)return void Object.assign(t,e);const i=this._createAnimations(t,e);return i.length?(a.add(this._chart,i),!0):void 0}}function ds(t,e){const i=t&&t.options||{},s=i.reverse,n=void 0===i.min?e:0,o=void 0===i.max?e:0;return{start:s?o:n,end:s?n:o}}function us(t,e){const i=[],s=t._getSortedDatasetMetas(e);let n,o;for(n=0,o=s.length;n<o;++n)i.push(s[n].index);return i}function fs(t,e,i,s={}){const n=t.keys,o="single"===s.mode;let a,r,l,h;if(null!==e){for(a=0,r=n.length;a<r;++a){if(l=+n[a],l===i){if(s.all)continue;break}h=t.values[l],X(h)&&(o||0===e||Dt(e)===Dt(h))&&(e+=h)}return e}}function gs(t,e){const i=t&&t.options.stacked;return i||void 0===i&&void 0!==e.stack}function ps(t,e,i){const s=t[e]||(t[e]={});return s[i]||(s[i]={})}function ms(t,e,i,s){for(const n of e.getMatchingVisibleMetas(s).reverse()){const e=t[n.index];if(i&&e>0||!i&&e<0)return n.index}return null}function xs(t,e){const{chart:i,_cachedMeta:s}=t,n=i._stacks||(i._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,h=a.axis,c=function(t,e,i){return`${t.id}.${e.id}.${i.stack||i.type}`}(o,a,s),d=e.length;let u;for(let t=0;t<d;++t){const i=e[t],{[l]:o,[h]:d}=i;u=(i._stacks||(i._stacks={}))[h]=ps(n,c,o),u[r]=d,u._top=ms(u,a,!0,s.type),u._bottom=ms(u,a,!1,s.type)}}function bs(t,e){const i=t.scales;return Object.keys(i).filter((t=>i[t].axis===e)).shift()}function _s(t,e){const i=t.controller.index,s=t.vScale&&t.vScale.axis;if(s){e=e||t._parsed;for(const t of e){const e=t._stacks;if(!e||void 0===e[s]||void 0===e[s][i])return;delete e[s][i]}}}const ys=t=>"reset"===t||"none"===t,vs=(t,e)=>e?t:Object.assign({},t);class ws{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=gs(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&_s(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,i=this.getDataset(),s=(t,e,i,s)=>"x"===t?e:"r"===t?s:i,n=e.xAxisID=K(i.xAxisID,bs(t,"x")),o=e.yAxisID=K(i.yAxisID,bs(t,"y")),a=e.rAxisID=K(i.rAxisID,bs(t,"r")),r=e.indexAxis,l=e.iAxisID=s(r,n,o,a),h=e.vAxisID=s(r,o,n,a);e.xScale=this.getScaleForId(n),e.yScale=this.getScaleForId(o),e.rScale=this.getScaleForId(a),e.iScale=this.getScaleForId(l),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&ce(this._data,this),t._stacked&&_s(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),i=this._data;if(U(e))this._data=function(t){const e=Object.keys(t),i=new Array(e.length);let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s],i[s]={x:o,y:t[o]};return i}(e);else if(i!==e){if(i){ce(i,this);const t=this._cachedMeta;_s(t),t._parsed=[]}e&&Object.isExtensible(e)&&he(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,i=this.getDataset();let s=!1;this._dataCheck();const n=e._stacked;e._stacked=gs(e.vScale,e),e.stack!==i.stack&&(s=!0,_s(e),e.stack=i.stack),this._resyncElements(t),(s||n!==e._stacked)&&xs(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),i=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(i,this.getContext()),this._parsing=this.options.parsing}parse(t,e){const{_cachedMeta:i,_data:s}=this,{iScale:n,_stacked:o}=i,a=n.axis;let r,l,h,c=0===t&&e===s.length||i._sorted,d=t>0&&i._parsed[t-1];if(!1===this._parsing)i._parsed=s,i._sorted=!0,h=s;else{h=Y(s[t])?this.parseArrayData(i,s,t,e):U(s[t])?this.parseObjectData(i,s,t,e):this.parsePrimitiveData(i,s,t,e);const n=()=>null===l[a]||d&&l[a]<d[a];for(r=0;r<e;++r)i._parsed[r+t]=l=h[r],c&&(n()&&(c=!1),d=l);i._sorted=c}o&&xs(this,h)}parsePrimitiveData(t,e,i,s){const{iScale:n,vScale:o}=t,a=n.axis,r=o.axis,l=n.getLabels(),h=n===o,c=new Array(s);let d,u,f;for(d=0,u=s;d<u;++d)f=d+i,c[d]={[a]:h||n.parse(l[f],f),[r]:o.parse(e[f],f)};return c}parseArrayData(t,e,i,s){const{xScale:n,yScale:o}=t,a=new Array(s);let r,l,h,c;for(r=0,l=s;r<l;++r)h=r+i,c=e[h],a[r]={x:n.parse(c[0],h),y:o.parse(c[1],h)};return a}parseObjectData(t,e,i,s){const{xScale:n,yScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l=new Array(s);let h,c,d,u;for(h=0,c=s;h<c;++h)d=h+i,u=e[d],l[h]={x:n.parse(lt(u,a),d),y:o.parse(lt(u,r),d)};return l}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,e,i){const s=this.chart,n=this._cachedMeta,o=e[t.axis];return fs({keys:us(s,!0),values:e._stacks[t.axis]},o,n.index,{mode:i})}updateRangeFromParsed(t,e,i,s){const n=i[e.axis];let o=null===n?NaN:n;const a=s&&i._stacks[e.axis];s&&a&&(s.values=a,o=fs(s,n,this._cachedMeta.index)),t.min=Math.min(t.min,o),t.max=Math.max(t.max,o)}getMinMax(t,e){const i=this._cachedMeta,s=i._parsed,n=i._sorted&&t===i.iScale,o=s.length,a=this._getOtherScale(t),r=((t,e,i)=>t&&!e.hidden&&e._stacked&&{keys:us(i,!0),values:null})(e,i,this.chart),l={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:h,max:c}=function(t){const{min:e,max:i,minDefined:s,maxDefined:n}=t.getUserBounds();return{min:s?e:Number.NEGATIVE_INFINITY,max:n?i:Number.POSITIVE_INFINITY}}(a);let d,u;function f(){u=s[d];const e=u[a.axis];return!X(u[t.axis])||h>e||c<e}for(d=0;d<o&&(f()||(this.updateRangeFromParsed(l,t,u,r),!n));++d);if(n)for(d=o-1;d>=0;--d)if(!f()){this.updateRangeFromParsed(l,t,u,r);break}return l}getAllParsedValues(t){const e=this._cachedMeta._parsed,i=[];let s,n,o;for(s=0,n=e.length;s<n;++s)o=e[s][t.axis],X(o)&&i.push(o);return i}getMaxOverflow(){return!1}getLabelAndValue(t){const e=this._cachedMeta,i=e.iScale,s=e.vScale,n=this.getParsed(t);return{label:i?""+i.getLabelForValue(n[i.axis]):"",value:s?""+s.getLabelForValue(n[s.axis]):""}}_update(t){const e=this._cachedMeta;this.configure(),this._cachedDataOpts={},this.update(t||"default"),e._clip=function(t){let e,i,s,n;return U(t)?(e=t.top,i=t.right,s=t.bottom,n=t.left):e=i=s=n=t,{top:e,right:i,bottom:s,left:n,disabled:!1===t}}(K(this.options.clip,function(t,e,i){if(!1===i)return!1;const s=ds(t,i),n=ds(e,i);return{top:n.end,right:s.end,bottom:n.start,left:s.start}}(e.xScale,e.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,e=this.chart,i=this._cachedMeta,s=i.data||[],n=e.chartArea,o=[],a=this._drawStart||0,r=this._drawCount||s.length-a;let l;for(i.dataset&&i.dataset.draw(t,n,a,r),l=a;l<a+r;++l){const e=s[l];e.hidden||(e.active?o.push(e):e.draw(t,n))}for(l=0;l<o.length;++l)o[l].draw(t,n)}getStyle(t,e){const i=e?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(i):this.resolveDataElementOptions(t||0,i)}getContext(t,e,i){const s=this.getDataset();let n;if(t>=0&&t<this._cachedMeta.data.length){const e=this._cachedMeta.data[t];n=e.$context||(e.$context=function(t,e,i){return He(t,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:i,index:e,mode:"default",type:"data"})}(this.getContext(),t,e)),n.parsed=this.getParsed(t),n.raw=s.data[t],n.index=n.dataIndex=t}else n=this.$context||(this.$context=function(t,e){return He(t,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),n.dataset=s,n.index=n.datasetIndex=this.index;return n.active=!!e,n.mode=i,n}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,e){return this._resolveElementOptions(this.dataElementType.id,e,t)}_resolveElementOptions(t,e="default",i){const s="active"===e,n=this._cachedDataOpts,o=t+"-"+e,a=n[o],r=this.enableOptionSharing&&ct(i);if(a)return vs(a,r);const l=this.chart.config,h=l.datasetElementScopeKeys(this._type,t),c=s?[`${t}Hover`,"hover",t,""]:[t,""],d=l.getOptionScopes(this.getDataset(),h),u=Object.keys(xt.elements[t]),f=l.resolveNamedOptions(d,u,(()=>this.getContext(i,s)),c);return f.$shared&&(f.$shared=r,n[o]=Object.freeze(vs(f,r))),f}_resolveAnimations(t,e,i){const s=this.chart,n=this._cachedDataOpts,o=`animation-${e}`,a=n[o];if(a)return a;let r;if(!1!==s.options.animation){const s=this.chart.config,n=s.datasetAnimationScopeKeys(this._type,e),o=s.getOptionScopes(this.getDataset(),n);r=s.createResolver(o,this.getContext(t,i,e))}const l=new cs(s,r&&r.animations);return r&&r._cacheable&&(n[o]=Object.freeze(l)),l}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||ys(t)||this.chart._animationsDisabled}updateElement(t,e,i,s){ys(s)?Object.assign(t,i):this._resolveAnimations(e,s).update(t,i)}updateSharedOptions(t,e,i){t&&!ys(e)&&this._resolveAnimations(void 0,e).update(t,i)}_setStyle(t,e,i,s){t.active=s;const n=this.getStyle(e,s);this._resolveAnimations(e,i,s).update(t,{options:!s&&this.getSharedOptions(n)||n})}removeHoverStyle(t,e,i){this._setStyle(t,i,"active",!1)}setHoverStyle(t,e,i){this._setStyle(t,i,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,i=this._cachedMeta.data;for(const[t,e,i]of this._syncList)this[t](e,i);this._syncList=[];const s=i.length,n=e.length,o=Math.min(n,s);o&&this.parse(0,o),n>s?this._insertElements(s,n-s,t):n<s&&this._removeElements(n,s-n)}_insertElements(t,e,i=!0){const s=this._cachedMeta,n=s.data,o=t+e;let a;const r=t=>{for(t.length+=e,a=t.length-1;a>=o;a--)t[a]=t[a-e]};for(r(n),a=t;a<o;++a)n[a]=new this.dataElementType;this._parsing&&r(s._parsed),this.parse(t,e),i&&this.updateElements(n,t,e,"reset")}updateElements(t,e,i,s){}_removeElements(t,e){const i=this._cachedMeta;if(this._parsing){const s=i._parsed.splice(t,e);i._stacked&&_s(i,s)}i.data.splice(t,e)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[e,i,s]=t;this[e](i,s)}}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,e){this._sync(["_removeElements",t,e]),this._sync(["_insertElements",t,arguments.length-2])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}ws.defaults={},ws.prototype.datasetElementType=null,ws.prototype.dataElementType=null;class Ms{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}hasValue(){return At(this.x)&&At(this.y)}getProps(t,e){const i=this.$animations;if(!e||!i)return this;const s={};return t.forEach((t=>{s[t]=i[t]&&i[t].active()?i[t]._to:this[t]})),s}}Ms.defaults={},Ms.defaultRoutes=void 0;const ks={values:t=>Y(t)?t:""+t,numeric(t,e,i){if(0===t)return"0";const s=this.chart.options.locale;let n,o=t;if(i.length>1){const e=Math.max(Math.abs(i[0].value),Math.abs(i[i.length-1].value));(e<1e-4||e>1e15)&&(n="scientific"),o=function(t,e){let i=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;Math.abs(i)>=1&&t!==Math.floor(t)&&(i=t-Math.floor(t));return i}(t,i)}const a=Pt(Math.abs(o)),r=Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Ai(t,s,l)},logarithmic(t,e,i){if(0===t)return"0";const s=t/Math.pow(10,Math.floor(Pt(t)));return 1===s||2===s||5===s?ks.numeric.call(this,t,e,i):""}};var Ss={formatters:ks};function Ps(t,e){const i=t.options.ticks,s=i.maxTicksLimit||function(t){const e=t.options.offset,i=t._tickSize(),s=t._length/i+(e?0:1),n=t._maxLength/i;return Math.floor(Math.min(s,n))}(t),n=i.major.enabled?function(t){const e=[];let i,s;for(i=0,s=t.length;i<s;i++)t[i].major&&e.push(i);return e}(e):[],o=n.length,a=n[0],r=n[o-1],l=[];if(o>s)return function(t,e,i,s){let n,o=0,a=i[0];for(s=Math.ceil(s),n=0;n<t.length;n++)n===a&&(e.push(t[n]),o++,a=i[o*s])}(e,l,n,o/s),l;const h=function(t,e,i){const s=function(t){const e=t.length;let i,s;if(e<2)return!1;for(s=t[0],i=1;i<e;++i)if(t[i]-t[i-1]!==s)return!1;return s}(t),n=e.length/i;if(!s)return Math.max(n,1);const o=Ot(s);for(let t=0,e=o.length-1;t<e;t++){const e=o[t];if(e>n)return e}return Math.max(n,1)}(n,e,s);if(o>0){let t,i;const s=o>1?Math.round((r-a)/(o-1)):null;for(Ds(e,l,h,$(s)?0:a-s,a),t=0,i=o-1;t<i;t++)Ds(e,l,h,n[t],n[t+1]);return Ds(e,l,h,r,$(s)?e.length:r+s),l}return Ds(e,l,h),l}function Ds(t,e,i,s,n){const o=K(s,0),a=Math.min(K(n,t.length),t.length);let r,l,h,c=0;for(i=Math.ceil(i),n&&(r=n-s,i=r/Math.floor(r/i)),h=o;h<0;)c++,h=Math.round(o+c*i);for(l=Math.max(o,0);l<a;l++)l===h&&(e.push(t[l]),c++,h=Math.round(o+c*i))}xt.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Ss.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),xt.route("scale.ticks","color","","color"),xt.route("scale.grid","color","","borderColor"),xt.route("scale.grid","borderColor","","borderColor"),xt.route("scale.title","color","","color"),xt.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&"callback"!==t&&"parser"!==t,_indexable:t=>"borderDash"!==t&&"tickBorderDash"!==t}),xt.describe("scales",{_fallback:"scale"}),xt.describe("scale.ticks",{_scriptable:t=>"backdropPadding"!==t&&"callback"!==t,_indexable:t=>"backdropPadding"!==t});const Cs=(t,e,i)=>"top"===e||"left"===e?t[e]+i:t[e]-i;function Os(t,e){const i=[],s=t.length/e,n=t.length;let o=0;for(;o<n;o+=s)i.push(t[Math.floor(o)]);return i}function As(t,e,i){const s=t.ticks.length,n=Math.min(e,s-1),o=t._startPixel,a=t._endPixel,r=1e-6;let l,h=t.getPixelForTick(n);if(!(i&&(l=1===s?Math.max(h-o,a-h):0===e?(t.getPixelForTick(1)-h)/2:(h-t.getPixelForTick(n-1))/2,h+=n<e?l:-l,h<o-r||h>a+r)))return h}function Ts(t){return t.drawTicks?t.tickLength:0}function Ls(t,e){if(!t.display)return 0;const i=Ve(t.font,e),s=Be(t.padding);return(Y(t.text)?t.text.length:1)*i.lineHeight+s.height}function Rs(t,e,i){let n=s(t);return(i&&"right"!==e||!i&&"right"===e)&&(n=(t=>"left"===t?"right":"right"===t?"left":t)(n)),n}class Es extends Ms{constructor(t){super(),this.id=t.id,this.type=t.type,this.options=void 0,this.ctx=t.ctx,this.chart=t.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(t){this.options=t.setContext(this.getContext()),this.axis=t.axis,this._userMin=this.parse(t.min),this._userMax=this.parse(t.max),this._suggestedMin=this.parse(t.suggestedMin),this._suggestedMax=this.parse(t.suggestedMax)}parse(t,e){return t}getUserBounds(){let{_userMin:t,_userMax:e,_suggestedMin:i,_suggestedMax:s}=this;return t=q(t,Number.POSITIVE_INFINITY),e=q(e,Number.NEGATIVE_INFINITY),i=q(i,Number.POSITIVE_INFINITY),s=q(s,Number.NEGATIVE_INFINITY),{min:q(t,i),max:q(e,s),minDefined:X(t),maxDefined:X(e)}}getMinMax(t){let e,{min:i,max:s,minDefined:n,maxDefined:o}=this.getUserBounds();if(n&&o)return{min:i,max:s};const a=this.getMatchingVisibleMetas();for(let r=0,l=a.length;r<l;++r)e=a[r].controller.getMinMax(this,t),n||(i=Math.min(i,e.min)),o||(s=Math.max(s,e.max));return i=o&&i>s?s:i,s=n&&i>s?i:s,{min:q(i,q(s,i)),max:q(s,q(i,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){Q(this.options.beforeUpdate,[this])}update(t,e,i){const{beginAtZero:s,grace:n,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=Ne(this,n,s),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const r=a<this.ticks.length;this._convertTicksToLabels(r?Os(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=Ps(this,this.ticks),this._labelSizes=null),r&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,e,i=this.options.reverse;this.isHorizontal()?(t=this.left,e=this.right):(t=this.top,e=this.bottom,i=!i),this._startPixel=t,this._endPixel=e,this._reversePixels=i,this._length=e-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){Q(this.options.afterUpdate,[this])}beforeSetDimensions(){Q(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){Q(this.options.afterSetDimensions,[this])}_callHooks(t){this.chart.notifyPlugins(t,this.getContext()),Q(this.options[t],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){Q(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(t){const e=this.options.ticks;let i,s,n;for(i=0,s=t.length;i<s;i++)n=t[i],n.label=Q(e.callback,[n.value,i,t],this)}afterTickToLabelConversion(){Q(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){Q(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const t=this.options,e=t.ticks,i=this.ticks.length,s=e.minRotation||0,n=e.maxRotation;let o,a,r,l=s;if(!this._isVisible()||!e.display||s>=n||i<=1||!this.isHorizontal())return void(this.labelRotation=s);const h=this._getLabelSizes(),c=h.widest.width,d=h.highest.height,u=Ht(this.chart.width-c,0,this.maxWidth);o=t.offset?this.maxWidth/i:u/(i-1),c+6>o&&(o=u/(i-(t.offset?.5:1)),a=this.maxHeight-Ts(t.grid)-e.padding-Ls(t.title,this.chart.options.font),r=Math.sqrt(c*c+d*d),l=It(Math.min(Math.asin(Ht((h.highest.height+6)/o,-1,1)),Math.asin(Ht(a/r,-1,1))-Math.asin(Ht(d/r,-1,1)))),l=Math.max(s,Math.min(n,l))),this.labelRotation=l}afterCalculateLabelRotation(){Q(this.options.afterCalculateLabelRotation,[this])}beforeFit(){Q(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:i,title:s,grid:n}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const o=Ls(s,e.options.font);if(a?(t.width=this.maxWidth,t.height=Ts(n)+o):(t.height=this.maxHeight,t.width=Ts(n)+o),i.display&&this.ticks.length){const{first:e,last:s,widest:n,highest:o}=this._getLabelSizes(),r=2*i.padding,l=Et(this.labelRotation),h=Math.cos(l),c=Math.sin(l);if(a){const e=i.mirror?0:c*n.width+h*o.height;t.height=Math.min(this.maxHeight,t.height+e+r)}else{const e=i.mirror?0:h*n.width+c*o.height;t.width=Math.min(this.maxWidth,t.width+e+r)}this._calculatePadding(e,s,c,h)}}this._handleMargins(),a?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,i,s){const{ticks:{align:n,padding:o},position:a}=this.options,r=0!==this.labelRotation,l="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const a=this.getPixelForTick(0)-this.left,h=this.right-this.getPixelForTick(this.ticks.length-1);let c=0,d=0;r?l?(c=s*t.width,d=i*e.height):(c=i*t.height,d=s*e.width):"start"===n?d=e.width:"end"===n?c=t.width:(c=t.width/2,d=e.width/2),this.paddingLeft=Math.max((c-a+o)*this.width/(this.width-a),0),this.paddingRight=Math.max((d-h+o)*this.width/(this.width-h),0)}else{let i=e.height/2,s=t.height/2;"start"===n?(i=0,s=t.height):"end"===n&&(i=e.height,s=0),this.paddingTop=i+o,this.paddingBottom=s+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){Q(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return"top"===e||"bottom"===e||"x"===t}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){let e,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(t),e=0,i=t.length;e<i;e++)$(t[e].label)&&(t.splice(e,1),i--,e--);this.afterTickToLabelConversion()}_getLabelSizes(){let t=this._labelSizes;if(!t){const e=this.options.ticks.sampleSize;let i=this.ticks;e<i.length&&(i=Os(i,e)),this._labelSizes=t=this._computeLabelSizes(i,i.length)}return t}_computeLabelSizes(t,e){const{ctx:i,_longestTextCache:s}=this,n=[],o=[];let a,r,l,h,c,d,u,f,g,p,m,x=0,b=0;for(a=0;a<e;++a){if(h=t[a].label,c=this._resolveTickFontOptions(a),i.font=d=c.string,u=s[d]=s[d]||{data:{},gc:[]},f=c.lineHeight,g=p=0,$(h)||Y(h)){if(Y(h))for(r=0,l=h.length;r<l;++r)m=h[r],$(m)||Y(m)||(g=Yt(i,u.data,u.gc,g,m),p+=f)}else g=Yt(i,u.data,u.gc,g,h),p=f;n.push(g),o.push(p),x=Math.max(g,x),b=Math.max(p,b)}!function(t,e){J(t,(t=>{const i=t.gc,s=i.length/2;let n;if(s>e){for(n=0;n<s;++n)delete t.data[i[n]];i.splice(0,s)}}))}(s,e);const _=n.indexOf(x),y=o.indexOf(b),v=t=>({width:n[t]||0,height:o[t]||0});return{first:v(0),last:v(e-1),widest:v(_),highest:v(y),widths:n,heights:o}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jt(this._alignToPixels?Xt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&t<e.length){const i=e[t];return i.$context||(i.$context=function(t,e,i){return He(t,{tick:i,index:e,type:"tick"})}(this.getContext(),t,i))}return this.$context||(this.$context=He(this.chart.getContext(),{scale:this,type:"scale"}))}_tickSize(){const t=this.options.ticks,e=Et(this.labelRotation),i=Math.abs(Math.cos(e)),s=Math.abs(Math.sin(e)),n=this._getLabelSizes(),o=t.autoSkipPadding||0,a=n?n.widest.width+o:0,r=n?n.highest.height+o:0;return this.isHorizontal()?r*i>a*s?a/i:r/s:r*s<a*i?r/i:a/s}_isVisible(){const t=this.options.display;return"auto"!==t?!!t:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(t){const e=this.axis,i=this.chart,s=this.options,{grid:n,position:o}=s,a=n.offset,r=this.isHorizontal(),l=this.ticks.length+(a?1:0),h=Ts(n),c=[],d=n.setContext(this.getContext()),u=d.drawBorder?d.borderWidth:0,f=u/2,g=function(t){return Xt(i,t,u)};let p,m,x,b,_,y,v,w,M,k,S,P;if("top"===o)p=g(this.bottom),y=this.bottom-h,w=p-f,k=g(t.top)+f,P=t.bottom;else if("bottom"===o)p=g(this.top),k=t.top,P=g(t.bottom)-f,y=p+f,w=this.top+h;else if("left"===o)p=g(this.right),_=this.right-h,v=p-f,M=g(t.left)+f,S=t.right;else if("right"===o)p=g(this.left),M=t.left,S=g(t.right)-f,_=p+f,v=this.left+h;else if("x"===e){if("center"===o)p=g((t.top+t.bottom)/2+.5);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}k=t.top,P=t.bottom,y=p+f,w=y+h}else if("y"===e){if("center"===o)p=g((t.left+t.right)/2);else if(U(o)){const t=Object.keys(o)[0],e=o[t];p=g(this.chart.scales[t].getPixelForValue(e))}_=p-f,v=_-h,M=t.left,S=t.right}const D=K(s.ticks.maxTicksLimit,l),C=Math.max(1,Math.ceil(l/D));for(m=0;m<l;m+=C){const t=n.setContext(this.getContext(m)),e=t.lineWidth,s=t.color,o=n.borderDash||[],l=t.borderDashOffset,h=t.tickWidth,d=t.tickColor,u=t.tickBorderDash||[],f=t.tickBorderDashOffset;x=As(this,m,a),void 0!==x&&(b=Xt(i,x,e),r?_=v=M=S=b:y=w=k=P=b,c.push({tx1:_,ty1:y,tx2:v,ty2:w,x1:M,y1:k,x2:S,y2:P,width:e,color:s,borderDash:o,borderDashOffset:l,tickWidth:h,tickColor:d,tickBorderDash:u,tickBorderDashOffset:f}))}return this._ticksLength=l,this._borderValue=p,c}_computeLabelItems(t){const e=this.axis,i=this.options,{position:s,ticks:n}=i,o=this.isHorizontal(),a=this.ticks,{align:r,crossAlign:l,padding:h,mirror:c}=n,d=Ts(i.grid),u=d+h,f=c?-h:u,g=-Et(this.labelRotation),p=[];let m,x,b,_,y,v,w,M,k,S,P,D,C="middle";if("top"===s)v=this.bottom-f,w=this._getXAxisLabelAlignment();else if("bottom"===s)v=this.top+f,w=this._getXAxisLabelAlignment();else if("left"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("right"===s){const t=this._getYAxisLabelAlignment(d);w=t.textAlign,y=t.x}else if("x"===e){if("center"===s)v=(t.top+t.bottom)/2+u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];v=this.chart.scales[t].getPixelForValue(e)+u}w=this._getXAxisLabelAlignment()}else if("y"===e){if("center"===s)y=(t.left+t.right)/2-u;else if(U(s)){const t=Object.keys(s)[0],e=s[t];y=this.chart.scales[t].getPixelForValue(e)}w=this._getYAxisLabelAlignment(d).textAlign}"y"===e&&("start"===r?C="top":"end"===r&&(C="bottom"));const O=this._getLabelSizes();for(m=0,x=a.length;m<x;++m){b=a[m],_=b.label;const t=n.setContext(this.getContext(m));M=this.getPixelForTick(m)+n.labelOffset,k=this._resolveTickFontOptions(m),S=k.lineHeight,P=Y(_)?_.length:1;const e=P/2,i=t.color,r=t.textStrokeColor,h=t.textStrokeWidth;let d;if(o?(y=M,D="top"===s?"near"===l||0!==g?-P*S+S/2:"center"===l?-O.highest.height/2-e*S+S:-O.highest.height+S/2:"near"===l||0!==g?S/2:"center"===l?O.highest.height/2-e*S:O.highest.height-P*S,c&&(D*=-1)):(v=M,D=(1-P)*S/2),t.showLabelBackdrop){const e=Be(t.backdropPadding),i=O.heights[m],s=O.widths[m];let n=v+D-e.top,o=y-e.left;switch(C){case"middle":n-=i/2;break;case"bottom":n-=i}switch(w){case"center":o-=s/2;break;case"right":o-=s}d={left:o,top:n,width:s+e.width,height:i+e.height,color:t.backdropColor}}p.push({rotation:g,label:_,font:k,color:i,strokeColor:r,strokeWidth:h,textOffset:D,textAlign:w,textBaseline:C,translation:[y,v],backdrop:d})}return p}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-Et(this.labelRotation))return"top"===t?"left":"right";let i="center";return"start"===e.align?i="left":"end"===e.align&&(i="right"),i}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:i,mirror:s,padding:n}}=this.options,o=t+n,a=this._getLabelSizes().widest.width;let r,l;return"left"===e?s?(l=this.right+n,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l+=a)):(l=this.right-o,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l=this.left)):"right"===e?s?(l=this.left+n,"near"===i?r="right":"center"===i?(r="center",l-=a/2):(r="left",l-=a)):(l=this.left+o,"near"===i?r="left":"center"===i?(r="center",l+=a/2):(r="right",l=this.right)):r="right",{textAlign:r,x:l}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;return"left"===e||"right"===e?{top:0,left:this.left,bottom:t.height,right:this.right}:"top"===e||"bottom"===e?{top:this.top,left:0,bottom:this.bottom,right:t.width}:void 0}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:i,top:s,width:n,height:o}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(i,s,n,o),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const i=this.ticks.findIndex((e=>e.value===t));if(i>=0){return e.setContext(this.getContext(i)).lineWidth}return 0}drawGrid(t){const e=this.options.grid,i=this.ctx,s=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let n,o;const a=(t,e,s)=>{s.width&&s.color&&(i.save(),i.lineWidth=s.width,i.strokeStyle=s.color,i.setLineDash(s.borderDash||[]),i.lineDashOffset=s.borderDashOffset,i.beginPath(),i.moveTo(t.x,t.y),i.lineTo(e.x,e.y),i.stroke(),i.restore())};if(e.display)for(n=0,o=s.length;n<o;++n){const t=s[n];e.drawOnChartArea&&a({x:t.x1,y:t.y1},{x:t.x2,y:t.y2},t),e.drawTicks&&a({x:t.tx1,y:t.ty1},{x:t.tx2,y:t.ty2},{color:t.tickColor,width:t.tickWidth,borderDash:t.tickBorderDash,borderDashOffset:t.tickBorderDashOffset})}}drawBorder(){const{chart:t,ctx:e,options:{grid:i}}=this,s=i.setContext(this.getContext()),n=i.drawBorder?s.borderWidth:0;if(!n)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let r,l,h,c;this.isHorizontal()?(r=Xt(t,this.left,n)-n/2,l=Xt(t,this.right,o)+o/2,h=c=a):(h=Xt(t,this.top,n)-n/2,c=Xt(t,this.bottom,o)+o/2,r=l=a),e.save(),e.lineWidth=s.borderWidth,e.strokeStyle=s.borderColor,e.beginPath(),e.moveTo(r,h),e.lineTo(l,c),e.stroke(),e.restore()}drawLabels(t){if(!this.options.ticks.display)return;const e=this.ctx,i=this._computeLabelArea();i&&Zt(e,i);const s=this._labelItems||(this._labelItems=this._computeLabelItems(t));let n,o;for(n=0,o=s.length;n<o;++n){const t=s[n],i=t.font,o=t.label;t.backdrop&&(e.fillStyle=t.backdrop.color,e.fillRect(t.backdrop.left,t.backdrop.top,t.backdrop.width,t.backdrop.height)),ee(e,o,0,t.textOffset,i,t)}i&&Qt(e)}drawTitle(){const{ctx:t,options:{position:e,title:i,reverse:s}}=this;if(!i.display)return;const o=Ve(i.font),a=Be(i.padding),r=i.align;let l=o.lineHeight/2;"bottom"===e||"center"===e||U(e)?(l+=a.bottom,Y(i.text)&&(l+=o.lineHeight*(i.text.length-1))):l+=a.top;const{titleX:h,titleY:c,maxWidth:d,rotation:u}=function(t,e,i,s){const{top:o,left:a,bottom:r,right:l,chart:h}=t,{chartArea:c,scales:d}=h;let u,f,g,p=0;const m=r-o,x=l-a;if(t.isHorizontal()){if(f=n(s,a,l),U(i)){const t=Object.keys(i)[0],s=i[t];g=d[t].getPixelForValue(s)+m-e}else g="center"===i?(c.bottom+c.top)/2+m-e:Cs(t,i,e);u=l-a}else{if(U(i)){const t=Object.keys(i)[0],s=i[t];f=d[t].getPixelForValue(s)-x+e}else f="center"===i?(c.left+c.right)/2-x+e:Cs(t,i,e);g=n(s,r,o),p="left"===i?-Mt:Mt}return{titleX:f,titleY:g,maxWidth:u,rotation:p}}(this,l,e,r);ee(t,i.text,0,0,o,{color:i.color,maxWidth:d,rotation:u,textAlign:Rs(r,e,s),textBaseline:"middle",translation:[h,c]})}draw(t){this._isVisible()&&(this.drawBackground(),this.drawGrid(t),this.drawBorder(),this.drawTitle(),this.drawLabels(t))}_layers(){const t=this.options,e=t.ticks&&t.ticks.z||0,i=K(t.grid&&t.grid.z,-1);return this._isVisible()&&this.draw===Es.prototype.draw?[{z:i,draw:t=>{this.drawBackground(),this.drawGrid(t),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:e,draw:t=>{this.drawLabels(t)}}]:[{z:e,draw:t=>{this.draw(t)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",s=[];let n,o;for(n=0,o=e.length;n<o;++n){const o=e[n];o[i]!==this.id||t&&o.type!==t||s.push(o)}return s}_resolveTickFontOptions(t){return Ve(this.options.ticks.setContext(this.getContext(t)).font)}_maxDigits(){const t=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/t}}class Is{constructor(t,e,i){this.type=t,this.scope=e,this.override=i,this.items=Object.create(null)}isForType(t){return Object.prototype.isPrototypeOf.call(this.type.prototype,t.prototype)}register(t){const e=Object.getPrototypeOf(t);let i;(function(t){return"id"in t&&"defaults"in t})(e)&&(i=this.register(e));const s=this.items,n=t.id,o=this.scope+"."+n;if(!n)throw new Error("class does not have id: "+t);return n in s||(s[n]=t,function(t,e,i){const s=nt(Object.create(null),[i?xt.get(i):{},xt.get(e),t.defaults]);xt.set(e,s),t.defaultRoutes&&function(t,e){Object.keys(e).forEach((i=>{const s=i.split("."),n=s.pop(),o=[t].concat(s).join("."),a=e[i].split("."),r=a.pop(),l=a.join(".");xt.route(o,n,l,r)}))}(e,t.defaultRoutes);t.descriptors&&xt.describe(e,t.descriptors)}(t,o,i),this.override&&xt.override(t.id,t.overrides)),o}get(t){return this.items[t]}unregister(t){const e=this.items,i=t.id,s=this.scope;i in e&&delete e[i],s&&i in xt[s]&&(delete xt[s][i],this.override&&delete ft[i])}}var zs=new class{constructor(){this.controllers=new Is(ws,"datasets",!0),this.elements=new Is(Ms,"elements"),this.plugins=new Is(Object,"plugins"),this.scales=new Is(Es,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,i){[...e].forEach((e=>{const s=i||this._getRegistryForType(e);i||s.isForType(e)||s===this.plugins&&e.id?this._exec(t,s,e):J(e,(e=>{const s=i||this._getRegistryForType(e);this._exec(t,s,e)}))}))}_exec(t,e,i){const s=ht(t);Q(i["before"+s],[],i),e[t](i),Q(i["after"+s],[],i)}_getRegistryForType(t){for(let e=0;e<this._typedRegistries.length;e++){const i=this._typedRegistries[e];if(i.isForType(t))return i}return this.plugins}_get(t,e,i){const s=e.get(t);if(void 0===s)throw new Error('"'+t+'" is not a registered '+i+".");return s}};class Fs{constructor(){this._init=[]}notify(t,e,i,s){"beforeInit"===e&&(this._init=this._createDescriptors(t,!0),this._notify(this._init,t,"install"));const n=s?this._descriptors(t).filter(s):this._descriptors(t),o=this._notify(n,t,e,i);return"destroy"===e&&(this._notify(n,t,"stop"),this._notify(this._init,t,"uninstall")),o}_notify(t,e,i,s){s=s||{};for(const n of t){const t=n.plugin;if(!1===Q(t[i],[e,s,n.options],t)&&s.cancelable)return!1}return!0}invalidate(){$(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(t){if(this._cache)return this._cache;const e=this._cache=this._createDescriptors(t);return this._notifyStateChanges(t),e}_createDescriptors(t,e){const i=t&&t.config,s=K(i.options&&i.options.plugins,{}),n=function(t){const e=[],i=Object.keys(zs.plugins.items);for(let t=0;t<i.length;t++)e.push(zs.getPlugin(i[t]));const s=t.plugins||[];for(let t=0;t<s.length;t++){const i=s[t];-1===e.indexOf(i)&&e.push(i)}return e}(i);return!1!==s||e?function(t,e,i,s){const n=[],o=t.getContext();for(let a=0;a<e.length;a++){const r=e[a],l=Bs(i[r.id],s);null!==l&&n.push({plugin:r,options:Vs(t.config,r,l,o)})}return n}(t,n,s,e):[]}_notifyStateChanges(t){const e=this._oldCache||[],i=this._cache,s=(t,e)=>t.filter((t=>!e.some((e=>t.plugin.id===e.plugin.id))));this._notify(s(e,i),t,"stop"),this._notify(s(i,e),t,"start")}}function Bs(t,e){return e||!1!==t?!0===t?{}:t:null}function Vs(t,e,i,s){const n=t.pluginScopeKeys(e),o=t.getOptionScopes(i,n);return t.createResolver(o,s,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ws(t,e){const i=xt.datasets[t]||{};return((e.datasets||{})[t]||{}).indexAxis||e.indexAxis||i.indexAxis||"x"}function Ns(t,e){return"x"===t||"y"===t?t:e.axis||("top"===(i=e.position)||"bottom"===i?"x":"left"===i||"right"===i?"y":void 0)||t.charAt(0).toLowerCase();var i}function Hs(t){const e=t.options||(t.options={});e.plugins=K(e.plugins,{}),e.scales=function(t,e){const i=ft[t.type]||{scales:{}},s=e.scales||{},n=Ws(t.type,e),o=Object.create(null),a=Object.create(null);return Object.keys(s).forEach((t=>{const e=s[t];if(!U(e))return console.error(`Invalid scale configuration for scale: ${t}`);if(e._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${t}`);const r=Ns(t,e),l=function(t,e){return t===e?"_index_":"_value_"}(r,n),h=i.scales||{};o[r]=o[r]||t,a[t]=ot(Object.create(null),[{axis:r},e,h[r],h[l]])})),t.data.datasets.forEach((i=>{const n=i.type||t.type,r=i.indexAxis||Ws(n,e),l=(ft[n]||{}).scales||{};Object.keys(l).forEach((t=>{const e=function(t,e){let i=t;return"_index_"===t?i=e:"_value_"===t&&(i="x"===e?"y":"x"),i}(t,r),n=i[e+"AxisID"]||o[e]||e;a[n]=a[n]||Object.create(null),ot(a[n],[{axis:e},s[n],l[t]])}))})),Object.keys(a).forEach((t=>{const e=a[t];ot(e,[xt.scales[e.type],xt.scale])})),a}(t,e)}function js(t){return(t=t||{}).datasets=t.datasets||[],t.labels=t.labels||[],t}const $s=new Map,Ys=new Set;function Us(t,e){let i=$s.get(t);return i||(i=e(),$s.set(t,i),Ys.add(i)),i}const Xs=(t,e,i)=>{const s=lt(e,i);void 0!==s&&t.add(s)};class qs{constructor(t){this._config=function(t){return(t=t||{}).data=js(t.data),Hs(t),t}(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=js(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),Hs(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Us(t,(()=>[[`datasets.${t}`,""]]))}datasetAnimationScopeKeys(t,e){return Us(`${t}.transition.${e}`,(()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]]))}datasetElementScopeKeys(t,e){return Us(`${t}-${e}`,(()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]]))}pluginScopeKeys(t){const e=t.id;return Us(`${this.type}-plugin-${e}`,(()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]]))}_cachedScopes(t,e){const i=this._scopeCache;let s=i.get(t);return s&&!e||(s=new Map,i.set(t,s)),s}getOptionScopes(t,e,i){const{options:s,type:n}=this,o=this._cachedScopes(t,i),a=o.get(e);if(a)return a;const r=new Set;e.forEach((e=>{t&&(r.add(t),e.forEach((e=>Xs(r,t,e)))),e.forEach((t=>Xs(r,s,t))),e.forEach((t=>Xs(r,ft[n]||{},t))),e.forEach((t=>Xs(r,xt,t))),e.forEach((t=>Xs(r,gt,t)))}));const l=Array.from(r);return 0===l.length&&l.push(Object.create(null)),Ys.has(e)&&o.set(e,l),l}chartOptionScopes(){const{options:t,type:e}=this;return[t,ft[e]||{},xt.datasets[e]||{},{type:e},xt,gt]}resolveNamedOptions(t,e,i,s=[""]){const n={$shared:!0},{resolver:o,subPrefixes:a}=Ks(this._resolverCache,t,s);let r=o;if(function(t,e){const{isScriptable:i,isIndexable:s}=ni(t);for(const n of e){const e=i(n),o=s(n),a=(o||e)&&t[n];if(e&&(dt(a)||Gs(a))||o&&Y(a))return!0}return!1}(o,e)){n.$shared=!1;r=si(o,i=dt(i)?i():i,this.createResolver(t,i,a))}for(const t of e)n[t]=r[t];return n}createResolver(t,e,i=[""],s){const{resolver:n}=Ks(this._resolverCache,t,i);return U(e)?si(n,e,void 0,s):n}}function Ks(t,e,i){let s=t.get(e);s||(s=new Map,t.set(e,s));const n=i.join();let o=s.get(n);if(!o){o={resolver:ii(e,i),subPrefixes:i.filter((t=>!t.toLowerCase().includes("hover")))},s.set(n,o)}return o}const Gs=t=>U(t)&&Object.getOwnPropertyNames(t).reduce(((e,i)=>e||dt(t[i])),!1);const Zs=["top","bottom","left","right","chartArea"];function Qs(t,e){return"top"===t||"bottom"===t||-1===Zs.indexOf(t)&&"x"===e}function Js(t,e){return function(i,s){return i[t]===s[t]?i[e]-s[e]:i[t]-s[t]}}function tn(t){const e=t.chart,i=e.options.animation;e.notifyPlugins("afterRender"),Q(i&&i.onComplete,[t],e)}function en(t){const e=t.chart,i=e.options.animation;Q(i&&i.onProgress,[t],e)}function sn(t){return ue()&&"string"==typeof t?t=document.getElementById(t):t&&t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas),t}const nn={},on=t=>{const e=sn(t);return Object.values(nn).filter((t=>t.canvas===e)).pop()};class an{constructor(t,e){const s=this.config=new qs(e),n=sn(t),o=on(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas can be reused.");const r=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||ns(n)),this.platform.updateConfig(s);const l=this.platform.acquireContext(n,r.aspectRatio),h=l&&l.canvas,c=h&&h.height,d=h&&h.width;this.id=j(),this.ctx=l,this.canvas=h,this.width=d,this.height=c,this._options=r,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new Fs,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=i((t=>this.update(t)),r.resizeDelay||0),nn[this.id]=this,l&&h?(a.listen(this,"complete",tn),a.listen(this,"progress",en),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:i,height:s,_aspectRatio:n}=this;return $(t)?e&&n?n:s?i/s:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():we(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return qt(this.canvas,this.ctx),this}stop(){return a.stop(this),this}resize(t,e){a.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const i=this.options,s=this.canvas,n=i.maintainAspectRatio&&this.aspectRatio,o=this.platform.getMaximumSize(s,t,e,n),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),r=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,we(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),Q(i.onResize,[this,o],this),this.attached&&this._doResize(r)&&this.render())}ensureScalesHaveIDs(){J(this.options.scales||{},((t,e)=>{t.id=e}))}buildOrUpdateScales(){const t=this.options,e=t.scales,i=this.scales,s=Object.keys(i).reduce(((t,e)=>(t[e]=!1,t)),{});let n=[];e&&(n=n.concat(Object.keys(e).map((t=>{const i=e[t],s=Ns(t,i),n="r"===s,o="x"===s;return{options:i,dposition:n?"chartArea":o?"bottom":"left",dtype:n?"radialLinear":o?"category":"linear"}})))),J(n,(e=>{const n=e.options,o=n.id,a=Ns(o,n),r=K(n.type,e.dtype);void 0!==n.position&&Qs(n.position,a)===Qs(e.dposition)||(n.position=e.dposition),s[o]=!0;let l=null;if(o in i&&i[o].type===r)l=i[o];else{l=new(zs.getScale(r))({id:o,type:r,ctx:this.ctx,chart:this}),i[l.id]=l}l.init(n,t)})),J(s,((t,e)=>{t||delete i[e]})),J(i,(t=>{ei.configure(this,t,t.options),ei.addBox(this,t)}))}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,i=t.length;if(t.sort(((t,e)=>t.index-e.index)),i>e){for(let t=e;t<i;++t)this._destroyDatasetMeta(t);t.splice(e,i-e)}this._sortedMetasets=t.slice(0).sort(Js("order","index"))}_removeUnreferencedMetasets(){const{_metasets:t,data:{datasets:e}}=this;t.length>e.length&&delete this._stacks,t.forEach(((t,i)=>{0===e.filter((e=>e===t._dataset)).length&&this._destroyDatasetMeta(i)}))}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let i,s;for(this._removeUnreferencedMetasets(),i=0,s=e.length;i<s;i++){const s=e[i];let n=this.getDatasetMeta(i);const o=s.type||this.config.type;if(n.type&&n.type!==o&&(this._destroyDatasetMeta(i),n=this.getDatasetMeta(i)),n.type=o,n.indexAxis=s.indexAxis||Ws(o,this.options),n.order=s.order||0,n.index=i,n.label=""+s.label,n.visible=this.isDatasetVisible(i),n.controller)n.controller.updateIndex(i),n.controller.linkScales();else{const e=zs.getController(o),{datasetElementType:s,dataElementType:a}=xt.datasets[o];Object.assign(e.prototype,{dataElementType:zs.getElement(a),datasetElementType:s&&zs.getElement(s)}),n.controller=new e(this,i),t.push(n.controller)}}return this._updateMetasets(),t}_resetElements(){J(this.data.datasets,((t,e)=>{this.getDatasetMeta(e).controller.reset()}),this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const i=this._options=e.createResolver(e.chartOptionScopes(),this.getContext());J(this.scales,(t=>{ei.removeBox(this,t)}));const s=this._animationsDisabled=!i.animation;this.ensureScalesHaveIDs(),this.buildOrUpdateScales();const n=new Set(Object.keys(this._listeners)),o=new Set(i.events);if(ut(n,o)&&!!this._responsiveListeners===i.responsive||(this.unbindEvents(),this.bindEvents()),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0}))return;const a=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let r=0;for(let t=0,e=this.data.datasets.length;t<e;t++){const{controller:e}=this.getDatasetMeta(t),i=!s&&-1===a.indexOf(e);e.buildOrUpdateElements(i),r=Math.max(+e.getMaxOverflow(),r)}r=this._minPadding=i.layout.autoPadding?r:0,this._updateLayout(r),s||J(a,(t=>{t.reset()})),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Js("z","_idx")),this._lastEvent&&this._eventHandler(this._lastEvent,!0),this.render()}_updateLayout(t){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;ei.update(this,this.width,this.height,t);const e=this.chartArea,i=e.width<=0||e.height<=0;this._layers=[],J(this.boxes,(t=>{i&&"chartArea"===t.position||(t.configure&&t.configure(),this._layers.push(...t._layers()))}),this),this._layers.forEach(((t,e)=>{t._idx=e})),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})){for(let e=0,i=this.data.datasets.length;e<i;++e)this._updateDataset(e,dt(t)?t({datasetIndex:e}):t);this.notifyPlugins("afterDatasetsUpdate",{mode:t})}}_updateDataset(t,e){const i=this.getDatasetMeta(t),s={meta:i,index:t,mode:e,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",s)&&(i.controller._update(e),s.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",s))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(a.has(this)?this.attached&&!a.running(this)&&a.start(this):(this.draw(),tn({chart:this})))}draw(){let t;if(this._resizeBeforeDraw){const{width:t,height:e}=this._resizeBeforeDraw;this._resize(t,e),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0)return;if(!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const e=this._layers;for(t=0;t<e.length&&e[t].z<=0;++t)e[t].draw(this.chartArea);for(this._drawDatasets();t<e.length;++t)e[t].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(t){const e=this._sortedMetasets,i=[];let s,n;for(s=0,n=e.length;s<n;++s){const n=e[s];t&&!n.visible||i.push(n)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const t=this.getSortedVisibleDatasetMetas();for(let e=t.length-1;e>=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,i=t._clip,s=!i.disabled,n=this.chartArea,o={meta:t,index:t.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(s&&Zt(e,{left:!1===i.left?0:n.left-i.left,right:!1===i.right?this.width:n.right+i.right,top:!1===i.top?0:n.top-i.top,bottom:!1===i.bottom?this.height:n.bottom+i.bottom}),t.controller.draw(),s&&Qt(e),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(t,e,i,s){const n=Te.modes[e];return"function"==typeof n?n(this,t,i,s):[]}getDatasetMeta(t){const e=this.data.datasets[t],i=this._metasets;let s=i.filter((t=>t&&t._dataset===e)).pop();return s||(s={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},i.push(s)),s}getContext(){return this.$context||(this.$context=He(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const i=this.getDatasetMeta(t);return"boolean"==typeof i.hidden?!i.hidden:!e.hidden}setDatasetVisibility(t,e){this.getDatasetMeta(t).hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,i){const s=i?"show":"hide",n=this.getDatasetMeta(t),o=n.controller._resolveAnimations(void 0,s);ct(e)?(n.data[e].hidden=!i,this.update()):(this.setDatasetVisibility(t,i),o.update(n,{visible:i}),this.update((e=>e.datasetIndex===t?s:void 0)))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),a.remove(this),t=0,e=this.data.datasets.length;t<e;++t)this._destroyDatasetMeta(t)}destroy(){const{canvas:t,ctx:e}=this;this._stop(),this.config.clearCache(),t&&(this.unbindEvents(),qt(t,e),this.platform.releaseContext(e),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete nn[this.id]}toBase64Image(...t){return this.canvas.toDataURL(...t)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const t=this._listeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(t,e,i)=>{t.offsetX=e,t.offsetY=i,this._eventHandler(t)};J(this.options.events,(t=>i(t,s)))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,i=(i,s)=>{e.addEventListener(this,i,s),t[i]=s},s=(i,s)=>{t[i]&&(e.removeEventListener(this,i,s),delete t[i])},n=(t,e)=>{this.canvas&&this.resize(t,e)};let o;const a=()=>{s("attach",a),this.attached=!0,this.resize(),i("resize",n),i("detach",o)};o=()=>{this.attached=!1,s("resize",n),this._stop(),this._resize(0,0),i("attach",a)},e.isAttached(this.canvas)?a():o()}unbindEvents(){J(this._listeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._listeners={},J(this._responsiveListeners,((t,e)=>{this.platform.removeEventListener(this,e,t)})),this._responsiveListeners=void 0}updateHoverStyle(t,e,i){const s=i?"set":"remove";let n,o,a,r;for("dataset"===e&&(n=this.getDatasetMeta(t[0].datasetIndex),n.controller["_"+s+"DatasetHoverStyle"]()),a=0,r=t.length;a<r;++a){o=t[a];const e=o&&this.getDatasetMeta(o.datasetIndex).controller;e&&e[s+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(t){const e=this._active||[],i=t.map((({datasetIndex:t,index:e})=>{const i=this.getDatasetMeta(t);if(!i)throw new Error("No dataset found at index "+t);return{datasetIndex:t,element:i.data[e],index:e}}));!tt(i,e)&&(this._active=i,this._updateHoverStyles(i,e))}notifyPlugins(t,e,i){return this._plugins.notify(this,t,e,i)}_updateHoverStyles(t,e,i){const s=this.options.hover,n=(t,e)=>t.filter((t=>!e.some((e=>t.datasetIndex===e.datasetIndex&&t.index===e.index)))),o=n(e,t),a=i?t:n(t,e);o.length&&this.updateHoverStyle(o,s.mode,!1),a.length&&s.mode&&this.updateHoverStyle(a,s.mode,!0)}_eventHandler(t,e){const i={event:t,replay:e,cancelable:!0},s=e=>(e.options.events||this.options.events).includes(t.native.type);if(!1===this.notifyPlugins("beforeEvent",i,s))return;const n=this._handleEvent(t,e);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,s),(n||i.changed)&&this.render(),this}_handleEvent(t,e){const{_active:i=[],options:s}=this,n=s.hover,o=e;let a=[],r=!1,l=null;return"mouseout"!==t.type&&(a=this.getElementsAtEventForMode(t,n.mode,n,o),l="click"===t.type?this._lastEvent:t),this._lastEvent=null,Gt(t,this.chartArea,this._minPadding)&&(Q(s.onHover,[t,a,this],this),"mouseup"!==t.type&&"click"!==t.type&&"contextmenu"!==t.type||Q(s.onClick,[t,a,this],this)),r=!tt(a,i),(r||e)&&(this._active=a,this._updateHoverStyles(a,i,e)),this._lastEvent=l,r}}const rn=()=>J(an.instances,(t=>t._plugins.invalidate())),ln=!0;function hn(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}Object.defineProperties(an,{defaults:{enumerable:ln,value:xt},instances:{enumerable:ln,value:nn},overrides:{enumerable:ln,value:ft},registry:{enumerable:ln,value:zs},version:{enumerable:ln,value:"3.6.0"},getChart:{enumerable:ln,value:on},register:{enumerable:ln,value:(...t)=>{zs.add(...t),rn()}},unregister:{enumerable:ln,value:(...t)=>{zs.remove(...t),rn()}}});class cn{constructor(t){this.options=t||{}}formats(){return hn()}parse(t,e){return hn()}format(t,e){return hn()}add(t,e,i){return hn()}diff(t,e,i){return hn()}startOf(t,e,i){return hn()}endOf(t,e){return hn()}}cn.override=function(t){Object.assign(cn.prototype,t)};var dn={_date:cn};function un(t){const e=t.iScale,i=function(t,e){if(!t._cache.$bar){const i=t.getMatchingVisibleMetas(e);let s=[];for(let e=0,n=i.length;e<n;e++)s=s.concat(i[e].controller.getAllParsedValues(t));t._cache.$bar=de(s.sort(((t,e)=>t-e)))}return t._cache.$bar}(e,t.type);let s,n,o,a,r=e._length;const l=()=>{32767!==o&&-32768!==o&&(ct(a)&&(r=Math.min(r,Math.abs(o-a)||r)),a=o)};for(s=0,n=i.length;s<n;++s)o=e.getPixelForValue(i[s]),l();for(a=void 0,s=0,n=e.ticks.length;s<n;++s)o=e.getPixelForTick(s),l();return r}function fn(t,e,i,s){return Y(t)?function(t,e,i,s){const n=i.parse(t[0],s),o=i.parse(t[1],s),a=Math.min(n,o),r=Math.max(n,o);let l=a,h=r;Math.abs(a)>Math.abs(r)&&(l=r,h=a),e[i.axis]=h,e._custom={barStart:l,barEnd:h,start:n,end:o,min:a,max:r}}(t,e,i,s):e[i.axis]=i.parse(t,s),e}function gn(t,e,i,s){const n=t.iScale,o=t.vScale,a=n.getLabels(),r=n===o,l=[];let h,c,d,u;for(h=i,c=i+s;h<c;++h)u=e[h],d={},d[n.axis]=r||n.parse(a[h],h),l.push(fn(u,d,o,h));return l}function pn(t){return t&&void 0!==t.barStart&&void 0!==t.barEnd}function mn(t,e,i,s){let n=e.borderSkipped;const o={};if(!n)return void(t.borderSkipped=o);const{start:a,end:r,reverse:l,top:h,bottom:c}=function(t){let e,i,s,n,o;return t.horizontal?(e=t.base>t.x,i="left",s="right"):(e=t.base<t.y,i="bottom",s="top"),e?(n="end",o="start"):(n="start",o="end"),{start:i,end:s,reverse:e,top:n,bottom:o}}(t);"middle"===n&&i&&(t.enableBorderRadius=!0,(i._top||0)===s?n=h:(i._bottom||0)===s?n=c:(o[xn(c,a,r,l)]=!0,n=h)),o[xn(n,a,r,l)]=!0,t.borderSkipped=o}function xn(t,e,i,s){var n,o,a;return s?(a=i,t=bn(t=(n=t)===(o=e)?a:n===a?o:n,i,e)):t=bn(t,e,i),t}function bn(t,e,i){return"start"===t?e:"end"===t?i:t}function _n(t,{inflateAmount:e},i){t.inflateAmount="auto"===e?1===i?.33:0:e}class yn extends ws{parsePrimitiveData(t,e,i,s){return gn(t,e,i,s)}parseArrayData(t,e,i,s){return gn(t,e,i,s)}parseObjectData(t,e,i,s){const{iScale:n,vScale:o}=t,{xAxisKey:a="x",yAxisKey:r="y"}=this._parsing,l="x"===n.axis?a:r,h="x"===o.axis?a:r,c=[];let d,u,f,g;for(d=i,u=i+s;d<u;++d)g=e[d],f={},f[n.axis]=n.parse(lt(g,l),d),c.push(fn(lt(g,h),f,o,d));return c}updateRangeFromParsed(t,e,i,s){super.updateRangeFromParsed(t,e,i,s);const n=i._custom;n&&e===this._cachedMeta.vScale&&(t.min=Math.min(t.min,n.min),t.max=Math.max(t.max,n.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const e=this._cachedMeta,{iScale:i,vScale:s}=e,n=this.getParsed(t),o=n._custom,a=pn(o)?"["+o.start+", "+o.end+"]":""+s.getLabelForValue(n[s.axis]);return{label:""+i.getLabelForValue(n[i.axis]),value:a}}initialize(){this.enableOptionSharing=!0,super.initialize();this._cachedMeta.stack=this.getDataset().stack}update(t){const e=this._cachedMeta;this.updateElements(e.data,0,e.data.length,t)}updateElements(t,e,i,s){const n="reset"===s,{index:o,_cachedMeta:{vScale:a}}=this,r=a.getBasePixel(),l=a.isHorizontal(),h=this._getRuler(),c=this.resolveDataElementOptions(e,s),d=this.getSharedOptions(c),u=this.includeOptions(s,d);this.updateSharedOptions(d,s,c);for(let c=e;c<e+i;c++){const e=this.getParsed(c),i=n||$(e[a.axis])?{base:r,head:r}:this._calculateBarValuePixels(c),f=this._calculateBarIndexPixels(c,h),g=(e._stacks||{})[a.axis],p={horizontal:l,base:i.base,enableBorderRadius:!g||pn(e._custom)||o===g._top||o===g._bottom,x:l?i.head:f.center,y:l?f.center:i.head,height:l?f.size:Math.abs(i.size),width:l?Math.abs(i.size):f.size};u&&(p.options=d||this.resolveDataElementOptions(c,t[c].active?"active":s));const m=p.options||t[c].options;mn(p,m,g,o),_n(p,m,h.ratio),this.updateElement(t[c],c,p,s)}}_getStacks(t,e){const i=this._cachedMeta.iScale,s=i.getMatchingVisibleMetas(this._type),n=i.options.stacked,o=s.length,a=[];let r,l;for(r=0;r<o;++r)if(l=s[r],l.controller.options.grouped){if(void 0!==e){const t=l.controller.getParsed(e)[l.controller._cachedMeta.vScale.axis];if($(t)||isNaN(t))continue}if((!1===n||-1===a.indexOf(l.stack)||void 0===n&&void 0===l.stack)&&a.push(l.stack),l.index===t)break}return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,i){const s=this._getStacks(t,i),n=void 0!==e?s.indexOf(e):-1;return-1===n?s.length-1:n}_getRuler(){const t=this.options,e=this._cachedMeta,i=e.iScale,s=[];let n,o;for(n=0,o=e.data.length;n<o;++n)s.push(i.getPixelForValue(this.getParsed(n)[i.axis],n));const a=t.barThickness;return{min:a||un(e),pixels:s,start:i._startPixel,end:i._endPixel,stackCount:this._getStackCount(),scale:i,grouped:t.grouped,ratio:a?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:e,_stacked:i},options:{base:s,minBarLength:n}}=this,o=s||0,a=this.getParsed(t),r=a._custom,l=pn(r);let h,c,d=a[e.axis],u=0,f=i?this.applyStack(e,a,i):d;f!==d&&(u=f-d,f=d),l&&(d=r.barStart,f=r.barEnd-r.barStart,0!==d&&Dt(d)!==Dt(r.barEnd)&&(u=0),u+=d);const g=$(s)||l?u:s;let p=e.getPixelForValue(g);if(h=this.chart.getDataVisibility(t)?e.getPixelForValue(u+f):p,c=h-p,Math.abs(c)<n&&(c=function(t,e,i){return 0!==t?Dt(t):(e.isHorizontal()?1:-1)*(e.min>=i?1:-1)}(c,e,o)*n,d===o&&(p-=c/2),h=p+c),p===e.getPixelForValue(o)){const t=Dt(c)*e.getLineWidthForValue(o)/2;p+=t,c-=t}return{size:c,base:p,head:h,center:h+c/2}}_calculateBarIndexPixels(t,e){const i=e.scale,s=this.options,n=s.skipNull,o=K(s.maxBarThickness,1/0);let a,r;if(e.grouped){const i=n?this._getStackCount(t):e.stackCount,l="flex"===s.barThickness?function(t,e,i,s){const n=e.pixels,o=n[t];let a=t>0?n[t-1]:null,r=t<n.length-1?n[t+1]:null;const l=i.categoryPercentage;null===a&&(a=o-(null===r?e.end-e.start:r-o)),null===r&&(r=o+o-a);const h=o-(o-Math.min(a,r))/2*l;return{chunk:Math.abs(r-a)/2*l/s,ratio:i.barPercentage,start:h}}(t,e,s,i):function(t,e,i,s){const n=i.barThickness;let o,a;return $(n)?(o=e.min*i.categoryPercentage,a=i.barPercentage):(o=n*s,a=1),{chunk:o/s,ratio:a,start:e.pixels[t]-o/2}}(t,e,s,i),h=this._getStackIndex(this.index,this._cachedMeta.stack,n?t:void 0);a=l.start+l.chunk*h+l.chunk/2,r=Math.min(o,l.chunk*l.ratio)}else a=i.getPixelForValue(this.getParsed(t)[i.axis],t),r=Math.min(o,e.min*e.ratio);return{base:a-r/2,head:a+r/2,center:a,size:r}}draw(){const t=this._cachedMeta,e=t.vScale,i=t.data,s=i.length;let n=0;for(;n<s;++n)null!==this.getParsed(n)[e.axis]&&i[n].draw(this._ctx)}}yn.id="bar",yn.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},yn.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}};class vn extends ws{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,e,i,s){const n=super.parsePrimitiveData(t,e,i,s);for(let t=0;t<n.length;t++)n[t]._custom=this.resolveDataElementOptions(t+i).radius;return n}parseArrayData(t,e,i,s){const n=super.parseArrayData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s[2],this.resolveDataElementOptions(t+i).radius)}return n}parseObjectData(t,e,i,s){const n=super.parseObjectData(t,e,i,s);for(let t=0;t<n.length;t++){const s=e[i+t];n[t]._custom=K(s&&s.r&&+s.r,this.resolveDataElementOptions(t+i).radius)}return n}getMaxOverflow(){const t=this._cachedMeta.data;let e=0;for(let i=t.length-1;i>=0;--i)e=Math.max(e,t[i].size(this.resolveDataElementOptions(i))/2);return e>0&&e}getLabelAndValue(t){const e=this._cachedMeta,{xScale:i,yScale:s}=e,n=this.getParsed(t),o=i.getLabelForValue(n.x),a=s.getLabelForValue(n.y),r=n._custom;return{label:e.label,value:"("+o+", "+a+(r?", "+r:"")+")"}}update(t){const e=this._cachedMeta.data;this.updateElements(e,0,e.length,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a}=this._cachedMeta,r=this.resolveDataElementOptions(e,s),l=this.getSharedOptions(r),h=this.includeOptions(s,l),c=o.axis,d=a.axis;for(let r=e;r<e+i;r++){const e=t[r],i=!n&&this.getParsed(r),l={},u=l[c]=n?o.getPixelForDecimal(.5):o.getPixelForValue(i[c]),f=l[d]=n?a.getBasePixel():a.getPixelForValue(i[d]);l.skip=isNaN(u)||isNaN(f),h&&(l.options=this.resolveDataElementOptions(r,e.active?"active":s),n&&(l.options.radius=0)),this.updateElement(e,r,l,s)}this.updateSharedOptions(l,s,r)}resolveDataElementOptions(t,e){const i=this.getParsed(t);let s=super.resolveDataElementOptions(t,e);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const n=s.radius;return"active"!==e&&(s.radius=0),s.radius+=K(i&&i._custom,n),s}}vn.id="bubble",vn.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},vn.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}};class wn extends ws{constructor(t,e){super(t,e),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,e){const i=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=i;else{let n,o,a=t=>+i[t];if(U(i[t])){const{key:t="value"}=this._parsing;a=e=>+lt(i[e],t)}for(n=t,o=t+e;n<o;++n)s._parsed[n]=a(n)}}_getRotation(){return Et(this.options.rotation-90)}_getCircumference(){return Et(this.options.circumference)}_getRotationExtents(){let t=_t,e=-_t;for(let i=0;i<this.chart.data.datasets.length;++i)if(this.chart.isDatasetVisible(i)){const s=this.chart.getDatasetMeta(i).controller,n=s._getRotation(),o=s._getCircumference();t=Math.min(t,n),e=Math.max(e,n+o)}return{rotation:t,circumference:e-t}}update(t){const e=this.chart,{chartArea:i}=e,s=this._cachedMeta,n=s.data,o=this.getMaxBorderWidth()+this.getMaxOffset(n)+this.options.spacing,a=Math.max((Math.min(i.width,i.height)-o)/2,0),r=Math.min(G(this.options.cutout,a),1),l=this._getRingWeight(this.index),{circumference:h,rotation:c}=this._getRotationExtents(),{ratioX:d,ratioY:u,offsetX:f,offsetY:g}=function(t,e,i){let s=1,n=1,o=0,a=0;if(e<_t){const r=t,l=r+e,h=Math.cos(r),c=Math.sin(r),d=Math.cos(l),u=Math.sin(l),f=(t,e,s)=>Nt(t,r,l,!0)?1:Math.max(e,e*i,s,s*i),g=(t,e,s)=>Nt(t,r,l,!0)?-1:Math.min(e,e*i,s,s*i),p=f(0,h,d),m=f(Mt,c,u),x=g(bt,h,d),b=g(bt+Mt,c,u);s=(p-x)/2,n=(m-b)/2,o=-(p+x)/2,a=-(m+b)/2}return{ratioX:s,ratioY:n,offsetX:o,offsetY:a}}(c,h,r),p=(i.width-o)/d,m=(i.height-o)/u,x=Math.max(Math.min(p,m)/2,0),b=Z(this.options.radius,x),_=(b-Math.max(b*r,0))/this._getVisibleDatasetWeightTotal();this.offsetX=f*b,this.offsetY=g*b,s.total=this.calculateTotal(),this.outerRadius=b-_*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-_*l,0),this.updateElements(n,0,n.length,t)}_circumference(t,e){const i=this.options,s=this._cachedMeta,n=this._getCircumference();return e&&i.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*n/_t)}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=o.chartArea,r=o.options.animation,l=(a.left+a.right)/2,h=(a.top+a.bottom)/2,c=n&&r.animateScale,d=c?0:this.innerRadius,u=c?0:this.outerRadius,f=this.resolveDataElementOptions(e,s),g=this.getSharedOptions(f),p=this.includeOptions(s,g);let m,x=this._getRotation();for(m=0;m<e;++m)x+=this._circumference(m,n);for(m=e;m<e+i;++m){const e=this._circumference(m,n),i=t[m],o={x:l+this.offsetX,y:h+this.offsetY,startAngle:x,endAngle:x+e,circumference:e,outerRadius:u,innerRadius:d};p&&(o.options=g||this.resolveDataElementOptions(m,i.active?"active":s)),x+=e,this.updateElement(i,m,o,s)}this.updateSharedOptions(g,s,f)}calculateTotal(){const t=this._cachedMeta,e=t.data;let i,s=0;for(i=0;i<e.length;i++){const n=t._parsed[i];null===n||isNaN(n)||!this.chart.getDataVisibility(i)||e[i].hidden||(s+=Math.abs(n))}return s}calculateCircumference(t){const e=this._cachedMeta.total;return e>0&&!isNaN(t)?_t*(Math.abs(t)/e):0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ai(e._parsed[t],i.options.locale);return{label:s[t]||"",value:n}}getMaxBorderWidth(t){let e=0;const i=this.chart;let s,n,o,a,r;if(!t)for(s=0,n=i.data.datasets.length;s<n;++s)if(i.isDatasetVisible(s)){o=i.getDatasetMeta(s),t=o.data,a=o.controller,a!==this&&a.configure();break}if(!t)return 0;for(s=0,n=t.length;s<n;++s)r=a.resolveDataElementOptions(s),"inner"!==r.borderAlign&&(e=Math.max(e,r.borderWidth||0,r.hoverBorderWidth||0));return e}getMaxOffset(t){let e=0;for(let i=0,s=t.length;i<s;++i){const t=this.resolveDataElementOptions(i);e=Math.max(e,t.offset||0,t.hoverOffset||0)}return e}_getRingWeightOffset(t){let e=0;for(let i=0;i<t;++i)this.chart.isDatasetVisible(i)&&(e+=this._getRingWeight(i));return e}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}wn.id="doughnut",wn.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},wn.descriptors={_scriptable:t=>"spacing"!==t,_indexable:t=>"spacing"!==t},wn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(t){let e=t.label;const i=": "+t.formattedValue;return Y(e)?(e=e.slice(),e[0]+=i):e+=i,e}}}}};class Mn extends ws{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const e=this._cachedMeta,{dataset:i,data:s=[],_dataset:n}=e,o=this.chart._animationsDisabled;let{start:a,count:r}=function(t,e,i){const s=e.length;let n=0,o=s;if(t._sorted){const{iScale:a,_parsed:r}=t,l=a.axis,{min:h,max:c,minDefined:d,maxDefined:u}=a.getUserBounds();d&&(n=Ht(Math.min(oe(r,a.axis,h).lo,i?s:oe(e,l,a.getPixelForValue(h)).lo),0,s-1)),o=u?Ht(Math.max(oe(r,a.axis,c).hi+1,i?0:oe(e,l,a.getPixelForValue(c)).hi+1),n,s)-n:s-n}return{start:n,count:o}}(e,s,o);this._drawStart=a,this._drawCount=r,function(t){const{xScale:e,yScale:i,_scaleRanges:s}=t,n={xmin:e.min,xmax:e.max,ymin:i.min,ymax:i.max};if(!s)return t._scaleRanges=n,!0;const o=s.xmin!==e.min||s.xmax!==e.max||s.ymin!==i.min||s.ymax!==i.max;return Object.assign(s,n),o}(e)&&(a=0,r=s.length),i._chart=this.chart,i._datasetIndex=this.index,i._decimated=!!n._decimated,i.points=s;const l=this.resolveDatasetElementOptions(t);this.options.showLine||(l.borderWidth=0),l.segment=this.options.segment,this.updateElement(i,void 0,{animated:!o,options:l},t),this.updateElements(s,a,r,t)}updateElements(t,e,i,s){const n="reset"===s,{iScale:o,vScale:a,_stacked:r,_dataset:l}=this._cachedMeta,h=this.resolveDataElementOptions(e,s),c=this.getSharedOptions(h),d=this.includeOptions(s,c),u=o.axis,f=a.axis,{spanGaps:g,segment:p}=this.options,m=At(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||n||"none"===s;let b=e>0&&this.getParsed(e-1);for(let h=e;h<e+i;++h){const e=t[h],i=this.getParsed(h),g=x?e:{},_=$(i[f]),y=g[u]=o.getPixelForValue(i[u],h),v=g[f]=n||_?a.getBasePixel():a.getPixelForValue(r?this.applyStack(a,i,r):i[f],h);g.skip=isNaN(y)||isNaN(v)||_,g.stop=h>0&&i[u]-b[u]>m,p&&(g.parsed=i,g.raw=l.data[h]),d&&(g.options=c||this.resolveDataElementOptions(h,e.active?"active":s)),x||this.updateElement(e,h,g,s),b=i}this.updateSharedOptions(c,s,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,i=e.options&&e.options.borderWidth||0,s=t.data||[];if(!s.length)return i;const n=s[0].size(this.resolveDataElementOptions(0)),o=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(i,n,o)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}Mn.id="line",Mn.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},Mn.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}};class kn extends ws{constructor(t,e){super(t,e),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const e=this._cachedMeta,i=this.chart,s=i.data.labels||[],n=Ai(e._parsed[t].r,i.options.locale);return{label:s[t]||"",value:n}}update(t){const e=this._cachedMeta.data;this._updateRadius(),this.updateElements(e,0,e.length,t)}_updateRadius(){const t=this.chart,e=t.chartArea,i=t.options,s=Math.min(e.right-e.left,e.bottom-e.top),n=Math.max(s/2,0),o=(n-Math.max(i.cutoutPercentage?n/100*i.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=n-o*this.index,this.innerRadius=this.outerRadius-o}updateElements(t,e,i,s){const n="reset"===s,o=this.chart,a=this.getDataset(),r=o.options.animation,l=this._cachedMeta.rScale,h=l.xCenter,c=l.yCenter,d=l.getIndexAngle(0)-.5*bt;let u,f=d;const g=360/this.countVisibleElements();for(u=0;u<e;++u)f+=this._computeAngle(u,s,g);for(u=e;u<e+i;u++){const e=t[u];let i=f,p=f+this._computeAngle(u,s,g),m=o.getDataVisibility(u)?l.getDistanceFromCenterForValue(a.data[u]):0;f=p,n&&(r.animateScale&&(m=0),r.animateRotate&&(i=p=d));const x={x:h,y:c,innerRadius:0,outerRadius:m,startAngle:i,endAngle:p,options:this.resolveDataElementOptions(u,e.active?"active":s)};this.updateElement(e,u,x,s)}}countVisibleElements(){const t=this.getDataset(),e=this._cachedMeta;let i=0;return e.data.forEach(((e,s)=>{!isNaN(t.data[s])&&this.chart.getDataVisibility(s)&&i++})),i}_computeAngle(t,e,i){return this.chart.getDataVisibility(t)?Et(this.resolveDataElementOptions(t,e).angle||i):0}}kn.id="polarArea",kn.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},kn.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(t){const e=t.data;if(e.labels.length&&e.datasets.length){const{labels:{pointStyle:i}}=t.legend.options;return e.labels.map(((e,s)=>{const n=t.getDatasetMeta(0).controller.getStyle(s);return{text:e,fillStyle:n.backgroundColor,strokeStyle:n.borderColor,lineWidth:n.borderWidth,pointStyle:i,hidden:!t.getDataVisibility(s),index:s}}))}return[]}},onClick(t,e,i){i.chart.toggleDataVisibility(e.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:t=>t.chart.data.labels[t.dataIndex]+": "+t.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}};class Sn extends wn{}Sn.id="pie",Sn.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"};class Pn extends ws{getLabelAndValue(t){const e=this._cachedMeta.vScale,i=this.getParsed(t);return{label:e.getLabels()[t],value:""+e.getLabelForValue(i[e.axis])}}update(t){const e=this._cachedMeta,i=e.dataset,s=e.data||[],n=e.iScale.getLabels();if(i.points=s,"resize"!==t){const e=this.resolveDatasetElementOptions(t);this.options.showLine||(e.borderWidth=0);const o={_loop:!0,_fullLoop:n.length===s.length,options:e};this.updateElement(i,void 0,o,t)}this.updateElements(s,0,s.length,t)}updateElements(t,e,i,s){const n=this.getDataset(),o=this._cachedMeta.rScale,a="reset"===s;for(let r=e;r<e+i;r++){const e=t[r],i=this.resolveDataElementOptions(r,e.active?"active":s),l=o.getPointPositionForValue(r,n.data[r]),h=a?o.xCenter:l.x,c=a?o.yCenter:l.y,d={x:h,y:c,angle:l.angle,skip:isNaN(h)||isNaN(c),options:i};this.updateElement(e,r,d,s)}}}Pn.id="radar",Pn.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},Pn.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}};class Dn extends Mn{}Dn.id="scatter",Dn.defaults={showLine:!1,fill:!1},Dn.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:t=>"("+t.label+", "+t.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}};var Cn=Object.freeze({__proto__:null,BarController:yn,BubbleController:vn,DoughnutController:wn,LineController:Mn,PolarAreaController:kn,PieController:Sn,RadarController:Pn,ScatterController:Dn});function On(t,e,i){const{startAngle:s,pixelMargin:n,x:o,y:a,outerRadius:r,innerRadius:l}=e;let h=n/r;t.beginPath(),t.arc(o,a,r,s-h,i+h),l>n?(h=n/l,t.arc(o,a,l,i+h,s-h,!0)):t.arc(o,a,n,i+Mt,s-Mt),t.closePath(),t.clip()}function An(t,e,i,s){const n=Ie(t.options.borderRadius,["outerStart","outerEnd","innerStart","innerEnd"]);const o=(i-e)/2,a=Math.min(o,s*e/2),r=t=>{const e=(i-Math.min(o,t))*s/2;return Ht(t,0,Math.min(o,e))};return{outerStart:r(n.outerStart),outerEnd:r(n.outerEnd),innerStart:Ht(n.innerStart,0,a),innerEnd:Ht(n.innerEnd,0,a)}}function Tn(t,e,i,s){return{x:i+t*Math.cos(e),y:s+t*Math.sin(e)}}function Ln(t,e,i,s,n){const{x:o,y:a,startAngle:r,pixelMargin:l,innerRadius:h}=e,c=Math.max(e.outerRadius+s+i-l,0),d=h>0?h+s+i+l:0;let u=0;const f=n-r;if(s){const t=((h>0?h-s:0)+(c>0?c-s:0))/2;u=(f-(0!==t?f*t/(t+s):f))/2}const g=(f-Math.max(.001,f*c-i/bt)/c)/2,p=r+g+u,m=n-g-u,{outerStart:x,outerEnd:b,innerStart:_,innerEnd:y}=An(e,d,c,m-p),v=c-x,w=c-b,M=p+x/v,k=m-b/w,S=d+_,P=d+y,D=p+_/S,C=m-y/P;if(t.beginPath(),t.arc(o,a,c,M,k),b>0){const e=Tn(w,k,o,a);t.arc(e.x,e.y,b,k,m+Mt)}const O=Tn(P,m,o,a);if(t.lineTo(O.x,O.y),y>0){const e=Tn(P,C,o,a);t.arc(e.x,e.y,y,m+Mt,C+Math.PI)}if(t.arc(o,a,d,m-y/d,p+_/d,!0),_>0){const e=Tn(S,D,o,a);t.arc(e.x,e.y,_,D+Math.PI,p-Mt)}const A=Tn(v,p,o,a);if(t.lineTo(A.x,A.y),x>0){const e=Tn(v,M,o,a);t.arc(e.x,e.y,x,p-Mt,M)}t.closePath()}function Rn(t,e,i,s,n){const{options:o}=e,a="inner"===o.borderAlign;o.borderWidth&&(a?(t.lineWidth=2*o.borderWidth,t.lineJoin="round"):(t.lineWidth=o.borderWidth,t.lineJoin="bevel"),e.fullCircles&&function(t,e,i){const{x:s,y:n,startAngle:o,pixelMargin:a,fullCircles:r}=e,l=Math.max(e.outerRadius-a,0),h=e.innerRadius+a;let c;for(i&&On(t,e,o+_t),t.beginPath(),t.arc(s,n,h,o+_t,o,!0),c=0;c<r;++c)t.stroke();for(t.beginPath(),t.arc(s,n,l,o,o+_t),c=0;c<r;++c)t.stroke()}(t,e,a),a&&On(t,e,n),Ln(t,e,i,s,n),t.stroke())}class En extends Ms{constructor(t){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.getProps(["x","y"],i),{angle:n,distance:o}=Ft(s,{x:t,y:e}),{startAngle:a,endAngle:r,innerRadius:l,outerRadius:h,circumference:c}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),d=this.options.spacing/2;return(c>=_t||Nt(n,a,r))&&(o>=l+d&&o<=h+d)}getCenterPoint(t){const{x:e,y:i,startAngle:s,endAngle:n,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],t),{offset:r,spacing:l}=this.options,h=(s+n)/2,c=(o+a+l+r)/2;return{x:e+Math.cos(h)*c,y:i+Math.sin(h)*c}}tooltipPosition(t){return this.getCenterPoint(t)}draw(t){const{options:e,circumference:i}=this,s=(e.offset||0)/2,n=(e.spacing||0)/2;if(this.pixelMargin="inner"===e.borderAlign?.33:0,this.fullCircles=i>_t?Math.floor(i/_t):0,0===i||this.innerRadius<0||this.outerRadius<0)return;t.save();let o=0;if(s){o=s/2;const e=(this.startAngle+this.endAngle)/2;t.translate(Math.cos(e)*o,Math.sin(e)*o),this.circumference>=bt&&(o=s)}t.fillStyle=e.backgroundColor,t.strokeStyle=e.borderColor;const a=function(t,e,i,s){const{fullCircles:n,startAngle:o,circumference:a}=e;let r=e.endAngle;if(n){Ln(t,e,i,s,o+_t);for(let e=0;e<n;++e)t.fill();isNaN(a)||(r=o+a%_t,a%_t==0&&(r+=_t))}return Ln(t,e,i,s,r),t.fill(),r}(t,this,o,n);Rn(t,this,o,n,a),t.restore()}}function In(t,e,i=e){t.lineCap=K(i.borderCapStyle,e.borderCapStyle),t.setLineDash(K(i.borderDash,e.borderDash)),t.lineDashOffset=K(i.borderDashOffset,e.borderDashOffset),t.lineJoin=K(i.borderJoinStyle,e.borderJoinStyle),t.lineWidth=K(i.borderWidth,e.borderWidth),t.strokeStyle=K(i.borderColor,e.borderColor)}function zn(t,e,i){t.lineTo(i.x,i.y)}function Fn(t,e,i={}){const s=t.length,{start:n=0,end:o=s-1}=i,{start:a,end:r}=e,l=Math.max(n,a),h=Math.min(o,r),c=n<a&&o<a||n>r&&o>r;return{count:s,start:l,loop:e.loop,ilen:h<l&&!c?s+h-l:h-l}}function Bn(t,e,i,s){const{points:n,options:o}=e,{count:a,start:r,loop:l,ilen:h}=Fn(n,i,s),c=function(t){return t.stepped?Jt:t.tension||"monotone"===t.cubicInterpolationMode?te:zn}(o);let d,u,f,{move:g=!0,reverse:p}=s||{};for(d=0;d<=h;++d)u=n[(r+(p?h-d:d))%a],u.skip||(g?(t.moveTo(u.x,u.y),g=!1):c(t,f,u,p,o.stepped),f=u);return l&&(u=n[(r+(p?h:0))%a],c(t,f,u,p,o.stepped)),!!l}function Vn(t,e,i,s){const n=e.points,{count:o,start:a,ilen:r}=Fn(n,i,s),{move:l=!0,reverse:h}=s||{};let c,d,u,f,g,p,m=0,x=0;const b=t=>(a+(h?r-t:t))%o,_=()=>{f!==g&&(t.lineTo(m,g),t.lineTo(m,f),t.lineTo(m,p))};for(l&&(d=n[b(0)],t.moveTo(d.x,d.y)),c=0;c<=r;++c){if(d=n[b(c)],d.skip)continue;const e=d.x,i=d.y,s=0|e;s===u?(i<f?f=i:i>g&&(g=i),m=(x*m+e)/++x):(_(),t.lineTo(e,i),u=s,x=0,f=g=i),p=i}_()}function Wn(t){const e=t.options,i=e.borderDash&&e.borderDash.length;return!(t._decimated||t._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||i)?Vn:Bn}En.id="arc",En.defaults={borderAlign:"center",borderColor:"#fff",borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},En.defaultRoutes={backgroundColor:"backgroundColor"};const Nn="function"==typeof Path2D;function Hn(t,e,i,s){Nn&&!e.options.segment?function(t,e,i,s){let n=e._path;n||(n=e._path=new Path2D,e.path(n,i,s)&&n.closePath()),In(t,e.options),t.stroke(n)}(t,e,i,s):function(t,e,i,s){const{segments:n,options:o}=e,a=Wn(e);for(const r of n)In(t,o,r.style),t.beginPath(),a(t,e,r,{start:i,end:i+s-1})&&t.closePath(),t.stroke()}(t,e,i,s)}class jn extends Ms{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const i=this.options;if((i.tension||"monotone"===i.cubicInterpolationMode)&&!i.stepped&&!this._pointsUpdated){const s=i.spanGaps?this._loop:this._fullLoop;vi(this._points,i,t,s,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Bi(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,i=t.length;return i&&e[t[i-1].end]}interpolate(t,e){const i=this.options,s=t[e],n=this.points,o=Fi(this,{property:e,start:s,end:s});if(!o.length)return;const a=[],r=function(t){return t.stepped?Di:t.tension||"monotone"===t.cubicInterpolationMode?Ci:Pi}(i);let l,h;for(l=0,h=o.length;l<h;++l){const{start:h,end:c}=o[l],d=n[h],u=n[c];if(d===u){a.push(d);continue}const f=r(d,u,Math.abs((s-d[e])/(u[e]-d[e])),i.stepped);f[e]=t[e],a.push(f)}return 1===a.length?a[0]:a}pathSegment(t,e,i){return Wn(this)(t,this,e,i)}path(t,e,i){const s=this.segments,n=Wn(this);let o=this._loop;e=e||0,i=i||this.points.length-e;for(const a of s)o&=n(t,this,a,{start:e,end:e+i-1});return!!o}draw(t,e,i,s){const n=this.options||{};(this.points||[]).length&&n.borderWidth&&(t.save(),Hn(t,this,i,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}function $n(t,e,i,s){const n=t.options,{[i]:o}=t.getProps([i],s);return Math.abs(e-o)<n.radius+n.hitRadius}jn.id="line",jn.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},jn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},jn.descriptors={_scriptable:!0,_indexable:t=>"borderDash"!==t&&"fill"!==t};class Yn extends Ms{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,e,i){const s=this.options,{x:n,y:o}=this.getProps(["x","y"],i);return Math.pow(t-n,2)+Math.pow(e-o,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,e){return $n(this,t,"x",e)}inYRange(t,e){return $n(this,t,"y",e)}getCenterPoint(t){const{x:e,y:i}=this.getProps(["x","y"],t);return{x:e,y:i}}size(t){let e=(t=t||this.options||{}).radius||0;e=Math.max(e,e&&t.hoverRadius||0);return 2*(e+(e&&t.borderWidth||0))}draw(t,e){const i=this.options;this.skip||i.radius<.1||!Gt(this,e,this.size(i)/2)||(t.strokeStyle=i.borderColor,t.lineWidth=i.borderWidth,t.fillStyle=i.backgroundColor,Kt(t,i,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}function Un(t,e){const{x:i,y:s,base:n,width:o,height:a}=t.getProps(["x","y","base","width","height"],e);let r,l,h,c,d;return t.horizontal?(d=a/2,r=Math.min(i,n),l=Math.max(i,n),h=s-d,c=s+d):(d=o/2,r=i-d,l=i+d,h=Math.min(s,n),c=Math.max(s,n)),{left:r,top:h,right:l,bottom:c}}function Xn(t,e,i,s){return t?0:Ht(e,i,s)}function qn(t){const e=Un(t),i=e.right-e.left,s=e.bottom-e.top,n=function(t,e,i){const s=t.options.borderWidth,n=t.borderSkipped,o=ze(s);return{t:Xn(n.top,o.top,0,i),r:Xn(n.right,o.right,0,e),b:Xn(n.bottom,o.bottom,0,i),l:Xn(n.left,o.left,0,e)}}(t,i/2,s/2),o=function(t,e,i){const{enableBorderRadius:s}=t.getProps(["enableBorderRadius"]),n=t.options.borderRadius,o=Fe(n),a=Math.min(e,i),r=t.borderSkipped,l=s||U(n);return{topLeft:Xn(!l||r.top||r.left,o.topLeft,0,a),topRight:Xn(!l||r.top||r.right,o.topRight,0,a),bottomLeft:Xn(!l||r.bottom||r.left,o.bottomLeft,0,a),bottomRight:Xn(!l||r.bottom||r.right,o.bottomRight,0,a)}}(t,i/2,s/2);return{outer:{x:e.left,y:e.top,w:i,h:s,radius:o},inner:{x:e.left+n.l,y:e.top+n.t,w:i-n.l-n.r,h:s-n.t-n.b,radius:{topLeft:Math.max(0,o.topLeft-Math.max(n.t,n.l)),topRight:Math.max(0,o.topRight-Math.max(n.t,n.r)),bottomLeft:Math.max(0,o.bottomLeft-Math.max(n.b,n.l)),bottomRight:Math.max(0,o.bottomRight-Math.max(n.b,n.r))}}}}function Kn(t,e,i,s){const n=null===e,o=null===i,a=t&&!(n&&o)&&Un(t,s);return a&&(n||e>=a.left&&e<=a.right)&&(o||i>=a.top&&i<=a.bottom)}function Gn(t,e){t.rect(e.x,e.y,e.w,e.h)}function Zn(t,e,i={}){const s=t.x!==i.x?-e:0,n=t.y!==i.y?-e:0,o=(t.x+t.w!==i.x+i.w?e:0)-s,a=(t.y+t.h!==i.y+i.h?e:0)-n;return{x:t.x+s,y:t.y+n,w:t.w+o,h:t.h+a,radius:t.radius}}Yn.id="point",Yn.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},Yn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};class Qn extends Ms{constructor(t){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,t&&Object.assign(this,t)}draw(t){const{inflateAmount:e,options:{borderColor:i,backgroundColor:s}}=this,{inner:n,outer:o}=qn(this),a=(r=o.radius).topLeft||r.topRight||r.bottomLeft||r.bottomRight?se:Gn;var r;t.save(),o.w===n.w&&o.h===n.h||(t.beginPath(),a(t,Zn(o,e,n)),t.clip(),a(t,Zn(n,-e,o)),t.fillStyle=i,t.fill("evenodd")),t.beginPath(),a(t,Zn(n,e)),t.fillStyle=s,t.fill(),t.restore()}inRange(t,e,i){return Kn(this,t,e,i)}inXRange(t,e){return Kn(this,t,null,e)}inYRange(t,e){return Kn(this,null,t,e)}getCenterPoint(t){const{x:e,y:i,base:s,horizontal:n}=this.getProps(["x","y","base","horizontal"],t);return{x:n?(e+s)/2:e,y:n?i:(i+s)/2}}getRange(t){return"x"===t?this.width/2:this.height/2}}Qn.id="bar",Qn.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},Qn.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var Jn=Object.freeze({__proto__:null,ArcElement:En,LineElement:jn,PointElement:Yn,BarElement:Qn});function to(t){if(t._decimated){const e=t._data;delete t._decimated,delete t._data,Object.defineProperty(t,"data",{value:e})}}function eo(t){t.data.datasets.forEach((t=>{to(t)}))}var io={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(t,e,i)=>{if(!i.enabled)return void eo(t);const s=t.width;t.data.datasets.forEach(((e,n)=>{const{_data:o,indexAxis:a}=e,r=t.getDatasetMeta(n),l=o||e.data;if("y"===We([a,t.options.indexAxis]))return;if("line"!==r.type)return;const h=t.scales[r.xAxisID];if("linear"!==h.type&&"time"!==h.type)return;if(t.options.parsing)return;let{start:c,count:d}=function(t,e){const i=e.length;let s,n=0;const{iScale:o}=t,{min:a,max:r,minDefined:l,maxDefined:h}=o.getUserBounds();return l&&(n=Ht(oe(e,o.axis,a).lo,0,i-1)),s=h?Ht(oe(e,o.axis,r).hi+1,n,i)-n:i-n,{start:n,count:s}}(r,l);if(d<=(i.threshold||4*s))return void to(e);let u;switch($(o)&&(e._data=l,delete e.data,Object.defineProperty(e,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(t){this._data=t}})),i.algorithm){case"lttb":u=function(t,e,i,s,n){const o=n.samples||s;if(o>=i)return t.slice(e,e+i);const a=[],r=(i-2)/(o-2);let l=0;const h=e+i-1;let c,d,u,f,g,p=e;for(a[l++]=t[p],c=0;c<o-2;c++){let s,n=0,o=0;const h=Math.floor((c+1)*r)+1+e,m=Math.min(Math.floor((c+2)*r)+1,i)+e,x=m-h;for(s=h;s<m;s++)n+=t[s].x,o+=t[s].y;n/=x,o/=x;const b=Math.floor(c*r)+1+e,_=Math.min(Math.floor((c+1)*r)+1,i)+e,{x:y,y:v}=t[p];for(u=f=-1,s=b;s<_;s++)f=.5*Math.abs((y-n)*(t[s].y-v)-(y-t[s].x)*(o-v)),f>u&&(u=f,d=t[s],g=s);a[l++]=d,p=g}return a[l++]=t[h],a}(l,c,d,s,i);break;case"min-max":u=function(t,e,i,s){let n,o,a,r,l,h,c,d,u,f,g=0,p=0;const m=[],x=e+i-1,b=t[e].x,_=t[x].x-b;for(n=e;n<e+i;++n){o=t[n],a=(o.x-b)/_*s,r=o.y;const e=0|a;if(e===l)r<u?(u=r,h=n):r>f&&(f=r,c=n),g=(p*g+o.x)/++p;else{const i=n-1;if(!$(h)&&!$(c)){const e=Math.min(h,c),s=Math.max(h,c);e!==d&&e!==i&&m.push({...t[e],x:g}),s!==d&&s!==i&&m.push({...t[s],x:g})}n>0&&i!==d&&m.push(t[i]),m.push(o),l=e,p=0,u=f=r,h=c=d=n}}return m}(l,c,d,s);break;default:throw new Error(`Unsupported decimation algorithm '${i.algorithm}'`)}e._decimated=u}))},destroy(t){eo(t)}};function so(t,e,i){const s=function(t){const e=t.options,i=e.fill;let s=K(i&&i.target,i);return void 0===s&&(s=!!e.backgroundColor),!1!==s&&null!==s&&(!0===s?"origin":s)}(t);if(U(s))return!isNaN(s.value)&&s;let n=parseFloat(s);return X(n)&&Math.floor(n)===n?("-"!==s[0]&&"+"!==s[0]||(n=e+n),!(n===e||n<0||n>=i)&&n):["origin","start","end","stack","shape"].indexOf(s)>=0&&s}class no{constructor(t){this.x=t.x,this.y=t.y,this.radius=t.radius}pathSegment(t,e,i){const{x:s,y:n,radius:o}=this;return e=e||{start:0,end:_t},t.arc(s,n,o,e.end,e.start,!0),!i.bounds}interpolate(t){const{x:e,y:i,radius:s}=this,n=t.angle;return{x:e+Math.cos(n)*s,y:i+Math.sin(n)*s,angle:n}}}function oo(t){return(t.scale||{}).getPointPositionForValue?function(t){const{scale:e,fill:i}=t,s=e.options,n=e.getLabels().length,o=[],a=s.reverse?e.max:e.min,r=s.reverse?e.min:e.max;let l,h,c;if(c="start"===i?a:"end"===i?r:U(i)?i.value:e.getBaseValue(),s.grid.circular)return h=e.getPointPositionForValue(0,a),new no({x:h.x,y:h.y,radius:e.getDistanceFromCenterForValue(c)});for(l=0;l<n;++l)o.push(e.getPointPositionForValue(l,c));return o}(t):function(t){const{scale:e={},fill:i}=t;let s,n=null;return"start"===i?n=e.bottom:"end"===i?n=e.top:U(i)?n=e.getPixelForValue(i.value):e.getBasePixel&&(n=e.getBasePixel()),X(n)?(s=e.isHorizontal(),{x:s?n:null,y:s?null:n}):null}(t)}function ao(t,e,i){for(;e>t;e--){const t=i[e];if(!isNaN(t.x)&&!isNaN(t.y))break}return e}function ro(t,e,i){const s=[];for(let n=0;n<i.length;n++){const o=i[n],{first:a,last:r,point:l}=lo(o,e,"x");if(!(!l||a&&r))if(a)s.unshift(l);else if(t.push(l),!r)break}t.push(...s)}function lo(t,e,i){const s=t.interpolate(e,i);if(!s)return{};const n=s[i],o=t.segments,a=t.points;let r=!1,l=!1;for(let t=0;t<o.length;t++){const e=o[t],s=a[e.start][i],h=a[e.end][i];if(n>=s&&n<=h){r=n===s,l=n===h;break}}return{first:r,last:l,point:s}}function ho(t){const{chart:e,fill:i,line:s}=t;if(X(i))return function(t,e){const i=t.getDatasetMeta(e);return i&&t.isDatasetVisible(e)?i.dataset:null}(e,i);if("stack"===i)return function(t){const{scale:e,index:i,line:s}=t,n=[],o=s.segments,a=s.points,r=function(t,e){const i=[],s=t.getMatchingVisibleMetas("line");for(let t=0;t<s.length;t++){const n=s[t];if(n.index===e)break;n.hidden||i.unshift(n.dataset)}return i}(e,i);r.push(co({x:null,y:e.bottom},s));for(let t=0;t<o.length;t++){const e=o[t];for(let t=e.start;t<=e.end;t++)ro(n,a[t],r)}return new jn({points:n,options:{}})}(t);if("shape"===i)return!0;const n=oo(t);return n instanceof no?n:co(n,s)}function co(t,e){let i=[],s=!1;return Y(t)?(s=!0,i=t):i=function(t,e){const{x:i=null,y:s=null}=t||{},n=e.points,o=[];return e.segments.forEach((({start:t,end:e})=>{e=ao(t,e,n);const a=n[t],r=n[e];null!==s?(o.push({x:a.x,y:s}),o.push({x:r.x,y:s})):null!==i&&(o.push({x:i,y:a.y}),o.push({x:i,y:r.y}))})),o}(t,e),i.length?new jn({points:i,options:{tension:0},_loop:s,_fullLoop:s}):null}function uo(t,e,i){let s=t[e].fill;const n=[e];let o;if(!i)return s;for(;!1!==s&&-1===n.indexOf(s);){if(!X(s))return s;if(o=t[s],!o)return!1;if(o.visible)return s;n.push(s),s=o.fill}return!1}function fo(t,e,i){t.beginPath(),e.path(t),t.lineTo(e.last().x,i),t.lineTo(e.first().x,i),t.closePath(),t.clip()}function go(t,e,i,s){if(s)return;let n=e[t],o=i[t];return"angle"===t&&(n=Wt(n),o=Wt(o)),{property:t,start:n,end:o}}function po(t,e,i,s){return t&&e?s(t[i],e[i]):t?t[i]:e?e[i]:0}function mo(t,e,i){const{top:s,bottom:n}=e.chart.chartArea,{property:o,start:a,end:r}=i||{};"x"===o&&(t.beginPath(),t.rect(a,s,r-a,n-s),t.clip())}function xo(t,e,i,s){const n=e.interpolate(i,s);n&&t.lineTo(n.x,n.y)}function bo(t,e){const{line:i,target:s,property:n,color:o,scale:a}=e,r=function(t,e,i){const s=t.segments,n=t.points,o=e.points,a=[];for(const t of s){let{start:s,end:r}=t;r=ao(s,r,n);const l=go(i,n[s],n[r],t.loop);if(!e.segments){a.push({source:t,target:l,start:n[s],end:n[r]});continue}const h=Fi(e,l);for(const e of h){const s=go(i,o[e.start],o[e.end],e.loop),r=zi(t,n,s);for(const t of r)a.push({source:t,target:e,start:{[i]:po(l,s,"start",Math.max)},end:{[i]:po(l,s,"end",Math.min)}})}}return a}(i,s,n);for(const{source:e,target:l,start:h,end:c}of r){const{style:{backgroundColor:r=o}={}}=e,d=!0!==s;t.save(),t.fillStyle=r,mo(t,a,d&&go(n,h,c)),t.beginPath();const u=!!i.pathSegment(t,e);let f;if(d){u?t.closePath():xo(t,s,c,n);const e=!!s.pathSegment(t,l,{move:u,reverse:!0});f=u&&e,f||xo(t,s,h,n)}t.closePath(),t.fill(f?"evenodd":"nonzero"),t.restore()}}function _o(t,e,i){const s=ho(e),{line:n,scale:o,axis:a}=e,r=n.options,l=r.fill,h=r.backgroundColor,{above:c=h,below:d=h}=l||{};s&&n.points.length&&(Zt(t,i),function(t,e){const{line:i,target:s,above:n,below:o,area:a,scale:r}=e,l=i._loop?"angle":e.axis;t.save(),"x"===l&&o!==n&&(fo(t,s,a.top),bo(t,{line:i,target:s,color:n,scale:r,property:l}),t.restore(),t.save(),fo(t,s,a.bottom)),bo(t,{line:i,target:s,color:o,scale:r,property:l}),t.restore()}(t,{line:n,target:s,above:c,below:d,area:i,scale:o,axis:a}),Qt(t))}var yo={id:"filler",afterDatasetsUpdate(t,e,i){const s=(t.data.datasets||[]).length,n=[];let o,a,r,l;for(a=0;a<s;++a)o=t.getDatasetMeta(a),r=o.dataset,l=null,r&&r.options&&r instanceof jn&&(l={visible:t.isDatasetVisible(a),index:a,fill:so(r,a,s),chart:t,axis:o.controller.options.indexAxis,scale:o.vScale,line:r}),o.$filler=l,n.push(l);for(a=0;a<s;++a)l=n[a],l&&!1!==l.fill&&(l.fill=uo(n,a,i.propagate))},beforeDraw(t,e,i){const s="beforeDraw"===i.drawTime,n=t.getSortedVisibleDatasetMetas(),o=t.chartArea;for(let e=n.length-1;e>=0;--e){const i=n[e].$filler;i&&(i.line.updateControlPoints(o,i.axis),s&&_o(t.ctx,i,o))}},beforeDatasetsDraw(t,e,i){if("beforeDatasetsDraw"!==i.drawTime)return;const s=t.getSortedVisibleDatasetMetas();for(let e=s.length-1;e>=0;--e){const i=s[e].$filler;i&&_o(t.ctx,i,t.chartArea)}},beforeDatasetDraw(t,e,i){const s=e.meta.$filler;s&&!1!==s.fill&&"beforeDatasetDraw"===i.drawTime&&_o(t.ctx,s,t.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const vo=(t,e)=>{let{boxHeight:i=e,boxWidth:s=e}=t;return t.usePointStyle&&(i=Math.min(i,e),s=Math.min(s,e)),{boxWidth:s,boxHeight:i,itemHeight:Math.max(e,i)}};class wo extends Ms{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,i){this.maxWidth=t,this.maxHeight=e,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=Q(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter((e=>t.filter(e,this.chart.data)))),t.sort&&(e=e.sort(((e,i)=>t.sort(e,i,this.chart.data)))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display)return void(this.width=this.height=0);const i=t.labels,s=Ve(i.font),n=s.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:r}=vo(i,n);let l,h;e.font=s.string,this.isHorizontal()?(l=this.maxWidth,h=this._fitRows(o,n,a,r)+10):(h=this.maxHeight,l=this._fitCols(o,n,a,r)+10),this.width=Math.min(l,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,i,s){const{ctx:n,maxWidth:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.lineWidths=[0],h=s+a;let c=t;n.textAlign="left",n.textBaseline="middle";let d=-1,u=-h;return this.legendItems.forEach(((t,f)=>{const g=i+e/2+n.measureText(t.text).width;(0===f||l[l.length-1]+g+2*a>o)&&(c+=h,l[l.length-(f>0?0:1)]=0,u+=h,d++),r[f]={left:0,top:u,row:d,width:g,height:s},l[l.length-1]+=g+a})),c}_fitCols(t,e,i,s){const{ctx:n,maxHeight:o,options:{labels:{padding:a}}}=this,r=this.legendHitBoxes=[],l=this.columnSizes=[],h=o-t;let c=a,d=0,u=0,f=0,g=0;return this.legendItems.forEach(((t,o)=>{const p=i+e/2+n.measureText(t.text).width;o>0&&u+s+2*a>h&&(c+=d+a,l.push({width:d,height:u}),f+=d+a,g++,d=u=0),r[o]={left:f,top:u,col:g,width:p,height:s},d=Math.max(d,p),u+=s+a})),c+=d,l.push({width:d,height:u}),c}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:i,labels:{padding:s},rtl:o}}=this,a=Ti(o,this.left,this.width);if(this.isHorizontal()){let o=0,r=n(i,this.left+s,this.right-this.lineWidths[o]);for(const l of e)o!==l.row&&(o=l.row,r=n(i,this.left+s,this.right-this.lineWidths[o])),l.top+=this.top+t+s,l.left=a.leftForLtr(a.x(r),l.width),r+=l.width+s}else{let o=0,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height);for(const l of e)l.col!==o&&(o=l.col,r=n(i,this.top+t+s,this.bottom-this.columnSizes[o].height)),l.top=r,l.left+=this.left+s,l.left=a.leftForLtr(a.x(l.left),l.width),r+=l.height+s}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const t=this.ctx;Zt(t,this),this._draw(),Qt(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:i,ctx:s}=this,{align:a,labels:r}=t,l=xt.color,h=Ti(t.rtl,this.left,this.width),c=Ve(r.font),{color:d,padding:u}=r,f=c.size,g=f/2;let p;this.drawTitle(),s.textAlign=h.textAlign("left"),s.textBaseline="middle",s.lineWidth=.5,s.font=c.string;const{boxWidth:m,boxHeight:x,itemHeight:b}=vo(r,f),_=this.isHorizontal(),y=this._computeTitleHeight();p=_?{x:n(a,this.left+u,this.right-i[0]),y:this.top+u+y,line:0}:{x:this.left+u,y:n(a,this.top+y+u,this.bottom-e[0].height),line:0},Li(this.ctx,t.textDirection);const v=b+u;this.legendItems.forEach(((w,M)=>{s.strokeStyle=w.fontColor||d,s.fillStyle=w.fontColor||d;const k=s.measureText(w.text).width,S=h.textAlign(w.textAlign||(w.textAlign=r.textAlign)),P=m+g+k;let D=p.x,C=p.y;h.setWidth(this.width),_?M>0&&D+P+u>this.right&&(C=p.y+=v,p.line++,D=p.x=n(a,this.left+u,this.right-i[p.line])):M>0&&C+v>this.bottom&&(D=p.x=D+e[p.line].width+u,p.line++,C=p.y=n(a,this.top+y+u,this.bottom-e[p.line].height));!function(t,e,i){if(isNaN(m)||m<=0||isNaN(x)||x<0)return;s.save();const n=K(i.lineWidth,1);if(s.fillStyle=K(i.fillStyle,l),s.lineCap=K(i.lineCap,"butt"),s.lineDashOffset=K(i.lineDashOffset,0),s.lineJoin=K(i.lineJoin,"miter"),s.lineWidth=n,s.strokeStyle=K(i.strokeStyle,l),s.setLineDash(K(i.lineDash,[])),r.usePointStyle){const o={radius:m*Math.SQRT2/2,pointStyle:i.pointStyle,rotation:i.rotation,borderWidth:n},a=h.xPlus(t,m/2);Kt(s,o,a,e+g)}else{const o=e+Math.max((f-x)/2,0),a=h.leftForLtr(t,m),r=Fe(i.borderRadius);s.beginPath(),Object.values(r).some((t=>0!==t))?se(s,{x:a,y:o,w:m,h:x,radius:r}):s.rect(a,o,m,x),s.fill(),0!==n&&s.stroke()}s.restore()}(h.x(D),C,w),D=o(S,D+m+g,_?D+P:this.right,t.rtl),function(t,e,i){ee(s,i.text,t,e+b/2,c,{strikethrough:i.hidden,textAlign:h.textAlign(i.textAlign)})}(h.x(D),C,w),_?p.x+=P+u:p.y+=v})),Ri(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,i=Ve(e.font),o=Be(e.padding);if(!e.display)return;const a=Ti(t.rtl,this.left,this.width),r=this.ctx,l=e.position,h=i.size/2,c=o.top+h;let d,u=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),d=this.top+c,u=n(t.align,u,this.right-f);else{const e=this.columnSizes.reduce(((t,e)=>Math.max(t,e.height)),0);d=c+n(t.align,this.top,this.bottom-e-t.labels.padding-this._computeTitleHeight())}const g=n(l,u,u+f);r.textAlign=a.textAlign(s(l)),r.textBaseline="middle",r.strokeStyle=e.color,r.fillStyle=e.color,r.font=i.string,ee(r,e.text,g,d,i)}_computeTitleHeight(){const t=this.options.title,e=Ve(t.font),i=Be(t.padding);return t.display?e.lineHeight+i.height:0}_getLegendItemAt(t,e){let i,s,n;if(t>=this.left&&t<=this.right&&e>=this.top&&e<=this.bottom)for(n=this.legendHitBoxes,i=0;i<n.length;++i)if(s=n[i],t>=s.left&&t<=s.left+s.width&&e>=s.top&&e<=s.top+s.height)return this.legendItems[i];return null}handleEvent(t){const e=this.options;if(!function(t,e){if("mousemove"===t&&(e.onHover||e.onLeave))return!0;if(e.onClick&&("click"===t||"mouseup"===t))return!0;return!1}(t.type,e))return;const i=this._getLegendItemAt(t.x,t.y);if("mousemove"===t.type){const o=this._hoveredItem,a=(n=i,null!==(s=o)&&null!==n&&s.datasetIndex===n.datasetIndex&&s.index===n.index);o&&!a&&Q(e.onLeave,[t,o,this],this),this._hoveredItem=i,i&&!a&&Q(e.onHover,[t,i,this],this)}else i&&Q(e.onClick,[t,i,this],this);var s,n}}var Mo={id:"legend",_element:wo,start(t,e,i){const s=t.legend=new wo({ctx:t.ctx,options:i,chart:t});ei.configure(t,s,i),ei.addBox(t,s)},stop(t){ei.removeBox(t,t.legend),delete t.legend},beforeUpdate(t,e,i){const s=t.legend;ei.configure(t,s,i),s.options=i},afterUpdate(t){const e=t.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(t,e){e.replay||t.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(t,e,i){const s=e.datasetIndex,n=i.chart;n.isDatasetVisible(s)?(n.hide(s),e.hidden=!0):(n.show(s),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:t=>t.chart.options.color,boxWidth:40,padding:10,generateLabels(t){const e=t.data.datasets,{labels:{usePointStyle:i,pointStyle:s,textAlign:n,color:o}}=t.legend.options;return t._getSortedDatasetMetas().map((t=>{const a=t.controller.getStyle(i?0:void 0),r=Be(a.borderWidth);return{text:e[t.index].label,fillStyle:a.backgroundColor,fontColor:o,hidden:!t.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(r.width+r.height)/4,strokeStyle:a.borderColor,pointStyle:s||a.pointStyle,rotation:a.rotation,textAlign:n||a.textAlign,borderRadius:0,datasetIndex:t.index}}),this)}},title:{color:t=>t.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:t=>!t.startsWith("on"),labels:{_scriptable:t=>!["generateLabels","filter","sort"].includes(t)}}};class ko extends Ms{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=t,this.height=this.bottom=e;const s=Y(i.text)?i.text.length:1;this._padding=Be(i.padding);const n=s*Ve(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=n:this.width=n}isHorizontal(){const t=this.options.position;return"top"===t||"bottom"===t}_drawArgs(t){const{top:e,left:i,bottom:s,right:o,options:a}=this,r=a.align;let l,h,c,d=0;return this.isHorizontal()?(h=n(r,i,o),c=e+t,l=o-i):("left"===a.position?(h=i+t,c=n(r,s,e),d=-.5*bt):(h=o-t,c=n(r,e,s),d=.5*bt),l=s-e),{titleX:h,titleY:c,maxWidth:l,rotation:d}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const i=Ve(e.font),n=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:r,rotation:l}=this._drawArgs(n);ee(t,e.text,0,0,i,{color:e.color,maxWidth:r,rotation:l,textAlign:s(e.align),textBaseline:"middle",translation:[o,a]})}}var So={id:"title",_element:ko,start(t,e,i){!function(t,e){const i=new ko({ctx:t.ctx,options:e,chart:t});ei.configure(t,i,e),ei.addBox(t,i),t.titleBlock=i}(t,i)},stop(t){const e=t.titleBlock;ei.removeBox(t,e),delete t.titleBlock},beforeUpdate(t,e,i){const s=t.titleBlock;ei.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Po=new WeakMap;var Do={id:"subtitle",start(t,e,i){const s=new ko({ctx:t.ctx,options:i,chart:t});ei.configure(t,s,i),ei.addBox(t,s),Po.set(t,s)},stop(t){ei.removeBox(t,Po.get(t)),Po.delete(t)},beforeUpdate(t,e,i){const s=Po.get(t);ei.configure(t,s,i),s.options=i},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const Co={average(t){if(!t.length)return!1;let e,i,s=0,n=0,o=0;for(e=0,i=t.length;e<i;++e){const i=t[e].element;if(i&&i.hasValue()){const t=i.tooltipPosition();s+=t.x,n+=t.y,++o}}return{x:s/o,y:n/o}},nearest(t,e){if(!t.length)return!1;let i,s,n,o=e.x,a=e.y,r=Number.POSITIVE_INFINITY;for(i=0,s=t.length;i<s;++i){const s=t[i].element;if(s&&s.hasValue()){const t=Bt(e,s.getCenterPoint());t<r&&(r=t,n=s)}}if(n){const t=n.tooltipPosition();o=t.x,a=t.y}return{x:o,y:a}}};function Oo(t,e){return e&&(Y(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function Ao(t){return("string"==typeof t||t instanceof String)&&t.indexOf("\n")>-1?t.split("\n"):t}function To(t,e){const{element:i,datasetIndex:s,index:n}=e,o=t.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:t,label:a,parsed:o.getParsed(n),raw:t.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:i}}function Lo(t,e){const i=t._chart.ctx,{body:s,footer:n,title:o}=t,{boxWidth:a,boxHeight:r}=e,l=Ve(e.bodyFont),h=Ve(e.titleFont),c=Ve(e.footerFont),d=o.length,u=n.length,f=s.length,g=Be(e.padding);let p=g.height,m=0,x=s.reduce(((t,e)=>t+e.before.length+e.lines.length+e.after.length),0);if(x+=t.beforeBody.length+t.afterBody.length,d&&(p+=d*h.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),x){p+=f*(e.displayColors?Math.max(r,l.lineHeight):l.lineHeight)+(x-f)*l.lineHeight+(x-1)*e.bodySpacing}u&&(p+=e.footerMarginTop+u*c.lineHeight+(u-1)*e.footerSpacing);let b=0;const _=function(t){m=Math.max(m,i.measureText(t).width+b)};return i.save(),i.font=h.string,J(t.title,_),i.font=l.string,J(t.beforeBody.concat(t.afterBody),_),b=e.displayColors?a+2+e.boxPadding:0,J(s,(t=>{J(t.before,_),J(t.lines,_),J(t.after,_)})),b=0,i.font=c.string,J(t.footer,_),i.restore(),m+=g.width,{width:m,height:p}}function Ro(t,e,i,s){const{x:n,width:o}=i,{width:a,chartArea:{left:r,right:l}}=t;let h="center";return"center"===s?h=n<=(r+l)/2?"left":"right":n<=o/2?h="left":n>=a-o/2&&(h="right"),function(t,e,i,s){const{x:n,width:o}=s,a=i.caretSize+i.caretPadding;return"left"===t&&n+o+a>e.width||"right"===t&&n-o-a<0||void 0}(h,t,e,i)&&(h="center"),h}function Eo(t,e,i){const s=e.yAlign||function(t,e){const{y:i,height:s}=e;return i<s/2?"top":i>t.height-s/2?"bottom":"center"}(t,i);return{xAlign:e.xAlign||Ro(t,e,i,s),yAlign:s}}function Io(t,e,i,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=t,{xAlign:r,yAlign:l}=i,h=n+o,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Fe(a);let g=function(t,e){let{x:i,width:s}=t;return"right"===e?i-=s:"center"===e&&(i-=s/2),i}(e,r);const p=function(t,e,i){let{y:s,height:n}=t;return"top"===e?s+=i:s-="bottom"===e?n+i:n/2,s}(e,l,h);return"center"===l?"left"===r?g+=h:"right"===r&&(g-=h):"left"===r?g-=Math.max(c,u)+o:"right"===r&&(g+=Math.max(d,f)+o),{x:Ht(g,0,s.width-e.width),y:Ht(p,0,s.height-e.height)}}function zo(t,e,i){const s=Be(i.padding);return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-s.right:t.x+s.left}function Fo(t){return Oo([],Ao(t))}function Bo(t,e){const i=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return i?t.override(i):t}class Vo extends Ms{constructor(t){super(),this.opacity=0,this._active=[],this._chart=t._chart,this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this._chart,i=this.options.setContext(this.getContext()),s=i.enabled&&e.options.animation&&i.animations,n=new cs(this._chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(n)),n}getContext(){return this.$context||(this.$context=(t=this._chart.getContext(),e=this,i=this._tooltipItems,He(t,{tooltip:e,tooltipItems:i,type:"tooltip"})));var t,e,i}getTitle(t,e){const{callbacks:i}=e,s=i.beforeTitle.apply(this,[t]),n=i.title.apply(this,[t]),o=i.afterTitle.apply(this,[t]);let a=[];return a=Oo(a,Ao(s)),a=Oo(a,Ao(n)),a=Oo(a,Ao(o)),a}getBeforeBody(t,e){return Fo(e.callbacks.beforeBody.apply(this,[t]))}getBody(t,e){const{callbacks:i}=e,s=[];return J(t,(t=>{const e={before:[],lines:[],after:[]},n=Bo(i,t);Oo(e.before,Ao(n.beforeLabel.call(this,t))),Oo(e.lines,n.label.call(this,t)),Oo(e.after,Ao(n.afterLabel.call(this,t))),s.push(e)})),s}getAfterBody(t,e){return Fo(e.callbacks.afterBody.apply(this,[t]))}getFooter(t,e){const{callbacks:i}=e,s=i.beforeFooter.apply(this,[t]),n=i.footer.apply(this,[t]),o=i.afterFooter.apply(this,[t]);let a=[];return a=Oo(a,Ao(s)),a=Oo(a,Ao(n)),a=Oo(a,Ao(o)),a}_createItems(t){const e=this._active,i=this._chart.data,s=[],n=[],o=[];let a,r,l=[];for(a=0,r=e.length;a<r;++a)l.push(To(this._chart,e[a]));return t.filter&&(l=l.filter(((e,s,n)=>t.filter(e,s,n,i)))),t.itemSort&&(l=l.sort(((e,s)=>t.itemSort(e,s,i)))),J(l,(e=>{const i=Bo(t.callbacks,e);s.push(i.labelColor.call(this,e)),n.push(i.labelPointStyle.call(this,e)),o.push(i.labelTextColor.call(this,e))})),this.labelColors=s,this.labelPointStyles=n,this.labelTextColors=o,this.dataPoints=l,l}update(t,e){const i=this.options.setContext(this.getContext()),s=this._active;let n,o=[];if(s.length){const t=Co[i.position].call(this,s,this._eventPosition);o=this._createItems(i),this.title=this.getTitle(o,i),this.beforeBody=this.getBeforeBody(o,i),this.body=this.getBody(o,i),this.afterBody=this.getAfterBody(o,i),this.footer=this.getFooter(o,i);const e=this._size=Lo(this,i),a=Object.assign({},t,e),r=Eo(this._chart,i,a),l=Io(i,a,r,this._chart);this.xAlign=r.xAlign,this.yAlign=r.yAlign,n={opacity:1,x:l.x,y:l.y,width:e.width,height:e.height,caretX:t.x,caretY:t.y}}else 0!==this.opacity&&(n={opacity:0});this._tooltipItems=o,this.$context=void 0,n&&this._resolveAnimations().update(this,n),t&&i.external&&i.external.call(this,{chart:this._chart,tooltip:this,replay:e})}drawCaret(t,e,i,s){const n=this.getCaretPosition(t,i,s);e.lineTo(n.x1,n.y1),e.lineTo(n.x2,n.y2),e.lineTo(n.x3,n.y3)}getCaretPosition(t,e,i){const{xAlign:s,yAlign:n}=this,{caretSize:o,cornerRadius:a}=i,{topLeft:r,topRight:l,bottomLeft:h,bottomRight:c}=Fe(a),{x:d,y:u}=t,{width:f,height:g}=e;let p,m,x,b,_,y;return"center"===n?(_=u+g/2,"left"===s?(p=d,m=p-o,b=_+o,y=_-o):(p=d+f,m=p+o,b=_-o,y=_+o),x=p):(m="left"===s?d+Math.max(r,h)+o:"right"===s?d+f-Math.max(l,c)-o:this.caretX,"top"===n?(b=u,_=b-o,p=m-o,x=m+o):(b=u+g,_=b+o,p=m+o,x=m-o),y=b),{x1:p,x2:m,x3:x,y1:b,y2:_,y3:y}}drawTitle(t,e,i){const s=this.title,n=s.length;let o,a,r;if(n){const l=Ti(i.rtl,this.x,this.width);for(t.x=zo(this,i.titleAlign,i),e.textAlign=l.textAlign(i.titleAlign),e.textBaseline="middle",o=Ve(i.titleFont),a=i.titleSpacing,e.fillStyle=i.titleColor,e.font=o.string,r=0;r<n;++r)e.fillText(s[r],l.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+a,r+1===n&&(t.y+=i.titleMarginBottom-a)}}_drawColorBox(t,e,i,s,n){const o=this.labelColors[i],a=this.labelPointStyles[i],{boxHeight:r,boxWidth:l,boxPadding:h}=n,c=Ve(n.bodyFont),d=zo(this,"left",n),u=s.x(d),f=r<c.lineHeight?(c.lineHeight-r)/2:0,g=e.y+f;if(n.usePointStyle){const e={radius:Math.min(l,r)/2,pointStyle:a.pointStyle,rotation:a.rotation,borderWidth:1},i=s.leftForLtr(u,l)+l/2,h=g+r/2;t.strokeStyle=n.multiKeyBackground,t.fillStyle=n.multiKeyBackground,Kt(t,e,i,h),t.strokeStyle=o.borderColor,t.fillStyle=o.backgroundColor,Kt(t,e,i,h)}else{t.lineWidth=o.borderWidth||1,t.strokeStyle=o.borderColor,t.setLineDash(o.borderDash||[]),t.lineDashOffset=o.borderDashOffset||0;const e=s.leftForLtr(u,l-h),i=s.leftForLtr(s.xPlus(u,1),l-h-2),a=Fe(o.borderRadius);Object.values(a).some((t=>0!==t))?(t.beginPath(),t.fillStyle=n.multiKeyBackground,se(t,{x:e,y:g,w:l,h:r,radius:a}),t.fill(),t.stroke(),t.fillStyle=o.backgroundColor,t.beginPath(),se(t,{x:i,y:g+1,w:l-2,h:r-2,radius:a}),t.fill()):(t.fillStyle=n.multiKeyBackground,t.fillRect(e,g,l,r),t.strokeRect(e,g,l,r),t.fillStyle=o.backgroundColor,t.fillRect(i,g+1,l-2,r-2))}t.fillStyle=this.labelTextColors[i]}drawBody(t,e,i){const{body:s}=this,{bodySpacing:n,bodyAlign:o,displayColors:a,boxHeight:r,boxWidth:l,boxPadding:h}=i,c=Ve(i.bodyFont);let d=c.lineHeight,u=0;const f=Ti(i.rtl,this.x,this.width),g=function(i){e.fillText(i,f.x(t.x+u),t.y+d/2),t.y+=d+n},p=f.textAlign(o);let m,x,b,_,y,v,w;for(e.textAlign=o,e.textBaseline="middle",e.font=c.string,t.x=zo(this,p,i),e.fillStyle=i.bodyColor,J(this.beforeBody,g),u=a&&"right"!==p?"center"===o?l/2+h:l+2+h:0,_=0,v=s.length;_<v;++_){for(m=s[_],x=this.labelTextColors[_],e.fillStyle=x,J(m.before,g),b=m.lines,a&&b.length&&(this._drawColorBox(e,t,_,f,i),d=Math.max(c.lineHeight,r)),y=0,w=b.length;y<w;++y)g(b[y]),d=c.lineHeight;J(m.after,g)}u=0,d=c.lineHeight,J(this.afterBody,g),t.y-=n}drawFooter(t,e,i){const s=this.footer,n=s.length;let o,a;if(n){const r=Ti(i.rtl,this.x,this.width);for(t.x=zo(this,i.footerAlign,i),t.y+=i.footerMarginTop,e.textAlign=r.textAlign(i.footerAlign),e.textBaseline="middle",o=Ve(i.footerFont),e.fillStyle=i.footerColor,e.font=o.string,a=0;a<n;++a)e.fillText(s[a],r.x(t.x),t.y+o.lineHeight/2),t.y+=o.lineHeight+i.footerSpacing}}drawBackground(t,e,i,s){const{xAlign:n,yAlign:o}=this,{x:a,y:r}=t,{width:l,height:h}=i,{topLeft:c,topRight:d,bottomLeft:u,bottomRight:f}=Fe(s.cornerRadius);e.fillStyle=s.backgroundColor,e.strokeStyle=s.borderColor,e.lineWidth=s.borderWidth,e.beginPath(),e.moveTo(a+c,r),"top"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+l-d,r),e.quadraticCurveTo(a+l,r,a+l,r+d),"center"===o&&"right"===n&&this.drawCaret(t,e,i,s),e.lineTo(a+l,r+h-f),e.quadraticCurveTo(a+l,r+h,a+l-f,r+h),"bottom"===o&&this.drawCaret(t,e,i,s),e.lineTo(a+u,r+h),e.quadraticCurveTo(a,r+h,a,r+h-u),"center"===o&&"left"===n&&this.drawCaret(t,e,i,s),e.lineTo(a,r+c),e.quadraticCurveTo(a,r,a+c,r),e.closePath(),e.fill(),s.borderWidth>0&&e.stroke()}_updateAnimationTarget(t){const e=this._chart,i=this.$animations,s=i&&i.x,n=i&&i.y;if(s||n){const i=Co[t.position].call(this,this._active,this._eventPosition);if(!i)return;const o=this._size=Lo(this,t),a=Object.assign({},i,this._size),r=Eo(e,t,a),l=Io(t,a,r,e);s._to===l.x&&n._to===l.y||(this.xAlign=r.xAlign,this.yAlign=r.yAlign,this.width=o.width,this.height=o.height,this.caretX=i.x,this.caretY=i.y,this._resolveAnimations().update(this,l))}}draw(t){const e=this.options.setContext(this.getContext());let i=this.opacity;if(!i)return;this._updateAnimationTarget(e);const s={width:this.width,height:this.height},n={x:this.x,y:this.y};i=Math.abs(i)<.001?0:i;const o=Be(e.padding),a=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&a&&(t.save(),t.globalAlpha=i,this.drawBackground(n,t,s,e),Li(t,e.textDirection),n.y+=o.top,this.drawTitle(n,t,e),this.drawBody(n,t,e),this.drawFooter(n,t,e),Ri(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const i=this._active,s=t.map((({datasetIndex:t,index:e})=>{const i=this._chart.getDatasetMeta(t);if(!i)throw new Error("Cannot find a dataset at index "+t);return{datasetIndex:t,element:i.data[e],index:e}})),n=!tt(i,s),o=this._positionChanged(s,e);(n||o)&&(this._active=s,this._eventPosition=e,this.update(!0))}handleEvent(t,e){const i=this.options,s=this._active||[];let n=!1,o=[];"mouseout"!==t.type&&(o=this._chart.getElementsAtEventForMode(t,i.mode,i,e),i.reverse&&o.reverse());const a=this._positionChanged(o,t);return n=e||!tt(o,s)||a,n&&(this._active=o,(i.enabled||i.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),n}_positionChanged(t,e){const{caretX:i,caretY:s,options:n}=this,o=Co[n.position].call(this,t,e);return!1!==o&&(i!==o.x||s!==o.y)}}Vo.positioners=Co;var Wo={id:"tooltip",_element:Vo,positioners:Co,afterInit(t,e,i){i&&(t.tooltip=new Vo({_chart:t,options:i}))},beforeUpdate(t,e,i){t.tooltip&&t.tooltip.initialize(i)},reset(t,e,i){t.tooltip&&t.tooltip.initialize(i)},afterDraw(t){const e=t.tooltip,i={tooltip:e};!1!==t.notifyPlugins("beforeTooltipDraw",i)&&(e&&e.draw(t.ctx),t.notifyPlugins("afterTooltipDraw",i))},afterEvent(t,e){if(t.tooltip){const i=e.replay;t.tooltip.handleEvent(e.event,i)&&(e.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(t,e)=>e.bodyFont.size,boxWidth:(t,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:H,title(t){if(t.length>0){const e=t[0],i=e.chart.data.labels,s=i?i.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(s>0&&e.dataIndex<s)return i[e.dataIndex]}return""},afterTitle:H,beforeBody:H,beforeLabel:H,label(t){if(this&&this.options&&"dataset"===this.options.mode)return t.label+": "+t.formattedValue||t.formattedValue;let e=t.dataset.label||"";e&&(e+=": ");const i=t.formattedValue;return $(i)||(e+=i),e},labelColor(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{borderColor:e.borderColor,backgroundColor:e.backgroundColor,borderWidth:e.borderWidth,borderDash:e.borderDash,borderDashOffset:e.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(t){const e=t.chart.getDatasetMeta(t.datasetIndex).controller.getStyle(t.dataIndex);return{pointStyle:e.pointStyle,rotation:e.rotation}},afterLabel:H,afterBody:H,beforeFooter:H,footer:H,afterFooter:H}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:t=>"filter"!==t&&"itemSort"!==t&&"external"!==t,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},No=Object.freeze({__proto__:null,Decimation:io,Filler:yo,Legend:Mo,SubTitle:Do,Title:So,Tooltip:Wo});function Ho(t,e,i){const s=t.indexOf(e);if(-1===s)return((t,e,i)=>"string"==typeof e?t.push(e)-1:isNaN(e)?null:i)(t,e,i);return s!==t.lastIndexOf(e)?i:s}class jo extends Es{constructor(t){super(t),this._startValue=void 0,this._valueRange=0}parse(t,e){if($(t))return null;const i=this.getLabels();return((t,e)=>null===t?null:Ht(Math.round(t),0,e))(e=isFinite(e)&&i[e]===t?e:Ho(i,t,K(e,t)),i.length-1)}determineDataLimits(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let{min:i,max:s}=this.getMinMax(!0);"ticks"===this.options.bounds&&(t||(i=0),e||(s=this.getLabels().length-1)),this.min=i,this.max=s}buildTicks(){const t=this.min,e=this.max,i=this.options.offset,s=[];let n=this.getLabels();n=0===t&&e===n.length-1?n:n.slice(t,e+1),this._valueRange=Math.max(n.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let i=t;i<=e;i++)s.push({value:i});return s}getLabelForValue(t){const e=this.getLabels();return t>=0&&t<e.length?e[t]:t}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(t){return"number"!=typeof t&&(t=this.parse(t)),null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}function $o(t,e,{horizontal:i,minRotation:s}){const n=Et(s),o=(i?Math.sin(n):Math.cos(n))||.001,a=.75*e*(""+t).length;return Math.min(e/o,a)}jo.id="category",jo.defaults={ticks:{callback:jo.prototype.getLabelForValue}};class Yo extends Es{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return $(t)||("number"==typeof t||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:i}=this.getUserBounds();let{min:s,max:n}=this;const o=t=>s=e?s:t,a=t=>n=i?n:t;if(t){const t=Dt(s),e=Dt(n);t<0&&e<0?a(0):t>0&&e>0&&o(0)}if(s===n){let e=1;(n>=Number.MAX_SAFE_INTEGER||s<=Number.MIN_SAFE_INTEGER)&&(e=Math.abs(.05*n)),a(n+e),t||o(s-e)}this.min=s,this.max=n}getTickLimit(){const t=this.options.ticks;let e,{maxTicksLimit:i,stepSize:s}=t;return s?(e=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,e>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${e} ticks. Limiting to 1000.`),e=1e3)):(e=this.computeTickLimit(),i=i||11),i&&(e=Math.min(i,e)),e}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let i=this.getTickLimit();i=Math.max(2,i);const s=function(t,e){const i=[],{bounds:s,step:n,min:o,max:a,precision:r,count:l,maxTicks:h,maxDigits:c,includeBounds:d}=t,u=n||1,f=h-1,{min:g,max:p}=e,m=!$(o),x=!$(a),b=!$(l),_=(p-g)/(c+1);let y,v,w,M,k=Ct((p-g)/f/u)*u;if(k<1e-14&&!m&&!x)return[{value:g},{value:p}];M=Math.ceil(p/k)-Math.floor(g/k),M>f&&(k=Ct(M*k/f/u)*u),$(r)||(y=Math.pow(10,r),k=Math.ceil(k*y)/y),"ticks"===s?(v=Math.floor(g/k)*k,w=Math.ceil(p/k)*k):(v=g,w=p),m&&x&&n&&Lt((a-o)/n,k/1e3)?(M=Math.round(Math.min((a-o)/k,h)),k=(a-o)/M,v=o,w=a):b?(v=m?o:v,w=x?a:w,M=l-1,k=(w-v)/M):(M=(w-v)/k,M=Tt(M,Math.round(M),k/1e3)?Math.round(M):Math.ceil(M));const S=Math.max(zt(k),zt(v));y=Math.pow(10,$(r)?S:r),v=Math.round(v*y)/y,w=Math.round(w*y)/y;let P=0;for(m&&(d&&v!==o?(i.push({value:o}),v<o&&P++,Tt(Math.round((v+P*k)*y)/y,o,$o(o,_,t))&&P++):v<o&&P++);P<M;++P)i.push({value:Math.round((v+P*k)*y)/y});return x&&d&&w!==a?i.length&&Tt(i[i.length-1].value,a,$o(a,_,t))?i[i.length-1].value=a:i.push({value:a}):x&&w!==a||i.push({value:w}),i}({maxTicks:i,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:!1!==e.includeBounds},this._range||this);return"ticks"===t.bounds&&Rt(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}configure(){const t=this.ticks;let e=this.min,i=this.max;if(super.configure(),this.options.offset&&t.length){const s=(i-e)/Math.max(t.length-1,1)/2;e-=s,i+=s}this._startValue=e,this._endValue=i,this._valueRange=i-e}getLabelForValue(t){return Ai(t,this.chart.options.locale)}}class Uo extends Yo{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?t:0,this.max=X(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,i=Et(this.options.ticks.minRotation),s=(t?Math.sin(i):Math.cos(i))||.001,n=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,n.lineHeight/s))}getPixelForValue(t){return null===t?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}function Xo(t){return 1===t/Math.pow(10,Math.floor(Pt(t)))}Uo.id="linear",Uo.defaults={ticks:{callback:Ss.formatters.numeric}};class qo extends Es{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const i=Yo.prototype.parse.apply(this,[t,e]);if(0!==i)return X(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=X(t)?Math.max(0,t):null,this.max=X(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let i=this.min,s=this.max;const n=e=>i=t?i:e,o=t=>s=e?s:t,a=(t,e)=>Math.pow(10,Math.floor(Pt(t))+e);i===s&&(i<=0?(n(1),o(10)):(n(a(i,-1)),o(a(s,1)))),i<=0&&n(a(s,-1)),s<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&n(a(i,-1)),this.min=i,this.max=s}buildTicks(){const t=this.options,e=function(t,e){const i=Math.floor(Pt(e.max)),s=Math.ceil(e.max/Math.pow(10,i)),n=[];let o=q(t.min,Math.pow(10,Math.floor(Pt(e.min)))),a=Math.floor(Pt(o)),r=Math.floor(o/Math.pow(10,a)),l=a<0?Math.pow(10,Math.abs(a)):1;do{n.push({value:o,major:Xo(o)}),++r,10===r&&(r=1,++a,l=a>=0?1:l),o=Math.round(r*Math.pow(10,a)*l)/l}while(a<i||a===i&&r<s);const h=q(t.max,o);return n.push({value:h,major:Xo(o)}),n}({min:this._userMin,max:this._userMax},this);return"ticks"===t.bounds&&Rt(e,this,"value"),t.reverse?(e.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),e}getLabelForValue(t){return void 0===t?"0":Ai(t,this.chart.options.locale)}configure(){const t=this.min;super.configure(),this._startValue=Pt(t),this._valueRange=Pt(this.max)-Pt(t)}getPixelForValue(t){return void 0!==t&&0!==t||(t=this.min),null===t||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(Pt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}function Ko(t){const e=t.ticks;if(e.display&&t.display){const t=Be(e.backdropPadding);return K(e.font&&e.font.size,xt.font.size)+t.height}return 0}function Go(t,e,i,s,n){return t===s||t===n?{start:e-i/2,end:e+i/2}:t<s||t>n?{start:e-i,end:e}:{start:e,end:e+i}}function Zo(t){const e={l:0,r:t.width,t:0,b:t.height-t.paddingTop},i={},s=[],n=[],o=t.getLabels().length;for(let h=0;h<o;h++){const o=t.options.pointLabels.setContext(t.getPointLabelContext(h));n[h]=o.padding;const c=t.getPointPosition(h,t.drawingArea+n[h]),d=Ve(o.font),u=(a=t.ctx,r=d,l=Y(l=t._pointLabels[h])?l:[l],{w:Ut(a,r.string,l),h:l.length*r.lineHeight});s[h]=u;const f=t.getIndexAngle(h),g=It(f),p=Go(g,c.x,u.w,0,180),m=Go(g,c.y,u.h,90,270);p.start<e.l&&(e.l=p.start,i.l=f),p.end>e.r&&(e.r=p.end,i.r=f),m.start<e.t&&(e.t=m.start,i.t=f),m.end>e.b&&(e.b=m.end,i.b=f)}var a,r,l;t._setReductions(t.drawingArea,e,i),t._pointLabelItems=function(t,e,i){const s=[],n=t.getLabels().length,o=t.options,a=Ko(o),r=t.getDistanceFromCenterForValue(o.ticks.reverse?t.min:t.max);for(let o=0;o<n;o++){const n=0===o?a/2:0,l=t.getPointPosition(o,r+n+i[o]),h=It(t.getIndexAngle(o)),c=e[o],d=ta(l.y,c.h,h),u=Qo(h),f=Jo(l.x,c.w,u);s.push({x:l.x,y:d,textAlign:u,left:f,top:d,right:f+c.w,bottom:d+c.h})}return s}(t,s,n)}function Qo(t){return 0===t||180===t?"center":t<180?"left":"right"}function Jo(t,e,i){return"right"===i?t-=e:"center"===i&&(t-=e/2),t}function ta(t,e,i){return 90===i||270===i?t-=e/2:(i>270||i<90)&&(t-=e),t}function ea(t,e,i,s){const{ctx:n}=t;if(i)n.arc(t.xCenter,t.yCenter,e,0,_t);else{let i=t.getPointPosition(0,e);n.moveTo(i.x,i.y);for(let o=1;o<s;o++)i=t.getPointPosition(o,e),n.lineTo(i.x,i.y)}}function ia(t){return At(t)?t:0}qo.id="logarithmic",qo.defaults={ticks:{callback:Ss.formatters.logarithmic,major:{enabled:!0}}};class sa extends Yo{constructor(t){super(t),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){this.width=this.maxWidth,this.height=this.maxHeight,this.paddingTop=Ko(this.options)/2,this.xCenter=Math.floor(this.width/2),this.yCenter=Math.floor((this.height-this.paddingTop)/2),this.drawingArea=Math.min(this.height-this.paddingTop,this.width)/2}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!1);this.min=X(t)&&!isNaN(t)?t:0,this.max=X(e)&&!isNaN(e)?e:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Ko(this.options))}generateTickLabels(t){Yo.prototype.generateTickLabels.call(this,t),this._pointLabels=this.getLabels().map(((t,e)=>{const i=Q(this.options.pointLabels.callback,[t,e],this);return i||0===i?i:""}))}fit(){const t=this.options;t.display&&t.pointLabels.display?Zo(this):this.setCenterPoint(0,0,0,0)}_setReductions(t,e,i){let s=e.l/Math.sin(i.l),n=Math.max(e.r-this.width,0)/Math.sin(i.r),o=-e.t/Math.cos(i.t),a=-Math.max(e.b-(this.height-this.paddingTop),0)/Math.cos(i.b);s=ia(s),n=ia(n),o=ia(o),a=ia(a),this.drawingArea=Math.max(t/2,Math.min(Math.floor(t-(s+n)/2),Math.floor(t-(o+a)/2))),this.setCenterPoint(s,n,o,a)}setCenterPoint(t,e,i,s){const n=this.width-e-this.drawingArea,o=t+this.drawingArea,a=i+this.drawingArea,r=this.height-this.paddingTop-s-this.drawingArea;this.xCenter=Math.floor((o+n)/2+this.left),this.yCenter=Math.floor((a+r)/2+this.top+this.paddingTop)}getIndexAngle(t){return Wt(t*(_t/this.getLabels().length)+Et(this.options.startAngle||0))}getDistanceFromCenterForValue(t){if($(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if($(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t<e.length){const i=e[t];return function(t,e,i){return He(t,{label:i,index:e,type:"pointLabel"})}(this.getContext(),t,i)}}getPointPosition(t,e){const i=this.getIndexAngle(t)-Mt;return{x:Math.cos(i)*e+this.xCenter,y:Math.sin(i)*e+this.yCenter,angle:i}}getPointPositionForValue(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))}getBasePosition(t){return this.getPointPositionForValue(t||0,this.getBaseValue())}getPointLabelPosition(t){const{left:e,top:i,right:s,bottom:n}=this._pointLabelItems[t];return{left:e,top:i,right:s,bottom:n}}drawBackground(){const{backgroundColor:t,grid:{circular:e}}=this.options;if(t){const i=this.ctx;i.save(),i.beginPath(),ea(this,this.getDistanceFromCenterForValue(this._endValue),e,this.getLabels().length),i.closePath(),i.fillStyle=t,i.fill(),i.restore()}}drawGrid(){const t=this.ctx,e=this.options,{angleLines:i,grid:s}=e,n=this.getLabels().length;let o,a,r;if(e.pointLabels.display&&function(t,e){const{ctx:i,options:{pointLabels:s}}=t;for(let n=e-1;n>=0;n--){const e=s.setContext(t.getPointLabelContext(n)),o=Ve(e.font),{x:a,y:r,textAlign:l,left:h,top:c,right:d,bottom:u}=t._pointLabelItems[n],{backdropColor:f}=e;if(!$(f)){const t=Be(e.backdropPadding);i.fillStyle=f,i.fillRect(h-t.left,c-t.top,d-h+t.width,u-c+t.height)}ee(i,t._pointLabels[n],a,r+o.lineHeight/2,o,{color:e.color,textAlign:l,textBaseline:"middle"})}}(this,n),s.display&&this.ticks.forEach(((t,e)=>{if(0!==e){a=this.getDistanceFromCenterForValue(t.value);!function(t,e,i,s){const n=t.ctx,o=e.circular,{color:a,lineWidth:r}=e;!o&&!s||!a||!r||i<0||(n.save(),n.strokeStyle=a,n.lineWidth=r,n.setLineDash(e.borderDash),n.lineDashOffset=e.borderDashOffset,n.beginPath(),ea(t,i,o,s),n.closePath(),n.stroke(),n.restore())}(this,s.setContext(this.getContext(e-1)),a,n)}})),i.display){for(t.save(),o=this.getLabels().length-1;o>=0;o--){const s=i.setContext(this.getPointLabelContext(o)),{color:n,lineWidth:l}=s;l&&n&&(t.lineWidth=l,t.strokeStyle=n,t.setLineDash(s.borderDash),t.lineDashOffset=s.borderDashOffset,a=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),r=this.getPointPosition(o,a),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(r.x,r.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,i=e.ticks;if(!i.display)return;const s=this.getIndexAngle(0);let n,o;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(s),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach(((s,a)=>{if(0===a&&!e.reverse)return;const r=i.setContext(this.getContext(a)),l=Ve(r.font);if(n=this.getDistanceFromCenterForValue(this.ticks[a].value),r.showLabelBackdrop){t.font=l.string,o=t.measureText(s.label).width,t.fillStyle=r.backdropColor;const e=Be(r.backdropPadding);t.fillRect(-o/2-e.left,-n-l.size/2-e.top,o+e.width,l.size+e.height)}ee(t,s.label,0,-n,l,{color:r.color})})),t.restore()}drawTitle(){}}sa.id="radialLinear",sa.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Ss.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:t=>t,padding:5}},sa.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},sa.descriptors={angleLines:{_fallback:"grid"}};const na={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},oa=Object.keys(na);function aa(t,e){return t-e}function ra(t,e){if($(e))return null;const i=t._adapter,{parser:s,round:n,isoWeekday:o}=t._parseOpts;let a=e;return"function"==typeof s&&(a=s(a)),X(a)||(a="string"==typeof s?i.parse(a,s):i.parse(a)),null===a?null:(n&&(a="week"!==n||!At(o)&&!0!==o?i.startOf(a,n):i.startOf(a,"isoWeek",o)),+a)}function la(t,e,i,s){const n=oa.length;for(let o=oa.indexOf(t);o<n-1;++o){const t=na[oa[o]],n=t.steps?t.steps:Number.MAX_SAFE_INTEGER;if(t.common&&Math.ceil((i-e)/(n*t.size))<=s)return oa[o]}return oa[n-1]}function ha(t,e,i){if(i){if(i.length){const{lo:s,hi:n}=ne(i,e);t[i[s]>=e?i[s]:i[n]]=!0}}else t[e]=!0}function ca(t,e,i){const s=[],n={},o=e.length;let a,r;for(a=0;a<o;++a)r=e[a],n[r]=a,s.push({value:r,major:!1});return 0!==o&&i?function(t,e,i,s){const n=t._adapter,o=+n.startOf(e[0].value,s),a=e[e.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=i[r],l>=0&&(e[l].major=!0);return e}(t,s,n,i):s}class da extends Es{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,e){const i=t.time||(t.time={}),s=this._adapter=new dn._date(t.adapters.date);ot(i.displayFormats,s.formats()),this._parseOpts={parser:i.parser,round:i.round,isoWeekday:i.isoWeekday},super.init(t),this._normalized=e.normalized}parse(t,e){return void 0===t?null:ra(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,e=this._adapter,i=t.time.unit||"day";let{min:s,max:n,minDefined:o,maxDefined:a}=this.getUserBounds();function r(t){o||isNaN(t.min)||(s=Math.min(s,t.min)),a||isNaN(t.max)||(n=Math.max(n,t.max))}o&&a||(r(this._getLabelBounds()),"ticks"===t.bounds&&"labels"===t.ticks.source||r(this.getMinMax(!1))),s=X(s)&&!isNaN(s)?s:+e.startOf(Date.now(),i),n=X(n)&&!isNaN(n)?n:+e.endOf(Date.now(),i)+1,this.min=Math.min(s,n-1),this.max=Math.max(s+1,n)}_getLabelBounds(){const t=this.getLabelTimestamps();let e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;return t.length&&(e=t[0],i=t[t.length-1]),{min:e,max:i}}buildTicks(){const t=this.options,e=t.time,i=t.ticks,s="labels"===i.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const n=this.min,o=re(s,n,this.max);return this._unit=e.unit||(i.autoSkip?la(e.minUnit,this.min,this.max,this._getLabelCapacity(n)):function(t,e,i,s,n){for(let o=oa.length-1;o>=oa.indexOf(i);o--){const i=oa[o];if(na[i].common&&t._adapter.diff(n,s,i)>=e-1)return i}return oa[i?oa.indexOf(i):0]}(this,o.length,e.minUnit,this.min,this.max)),this._majorUnit=i.major.enabled&&"year"!==this._unit?function(t){for(let e=oa.indexOf(t)+1,i=oa.length;e<i;++e)if(na[oa[e]].common)return oa[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&o.reverse(),ca(this,o,this._majorUnit)}initOffsets(t){let e,i,s=0,n=0;this.options.offset&&t.length&&(e=this.getDecimalForValue(t[0]),s=1===t.length?1-e:(this.getDecimalForValue(t[1])-e)/2,i=this.getDecimalForValue(t[t.length-1]),n=1===t.length?i:(i-this.getDecimalForValue(t[t.length-2]))/2);const o=t.length<3?.5:.25;s=Ht(s,0,o),n=Ht(n,0,o),this._offsets={start:s,end:n,factor:1/(s+1+n)}}_generate(){const t=this._adapter,e=this.min,i=this.max,s=this.options,n=s.time,o=n.unit||la(n.minUnit,e,i,this._getLabelCapacity(e)),a=K(n.stepSize,1),r="week"===o&&n.isoWeekday,l=At(r)||!0===r,h={};let c,d,u=e;if(l&&(u=+t.startOf(u,"isoWeek",r)),u=+t.startOf(u,l?"day":o),t.diff(i,e,o)>1e5*a)throw new Error(e+" and "+i+" are too far apart with stepSize of "+a+" "+o);const f="data"===s.ticks.source&&this.getDataTimestamps();for(c=u,d=0;c<i;c=+t.add(c,a,o),d++)ha(h,c,f);return c!==i&&"ticks"!==s.bounds&&1!==d||ha(h,c,f),Object.keys(h).sort(((t,e)=>t-e)).map((t=>+t))}getLabelForValue(t){const e=this._adapter,i=this.options.time;return i.tooltipFormat?e.format(t,i.tooltipFormat):e.format(t,i.displayFormats.datetime)}_tickFormatFunction(t,e,i,s){const n=this.options,o=n.time.displayFormats,a=this._unit,r=this._majorUnit,l=a&&o[a],h=r&&o[r],c=i[e],d=r&&h&&c&&c.major,u=this._adapter.format(t,s||(d?h:l)),f=n.ticks.callback;return f?Q(f,[u,e,i],this):u}generateTickLabels(t){let e,i,s;for(e=0,i=t.length;e<i;++e)s=t[e],s.label=this._tickFormatFunction(s.value,e,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const e=this._offsets,i=this.getDecimalForValue(t);return this.getPixelForDecimal((e.start+i)*e.factor)}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return this.min+i*(this.max-this.min)}_getLabelSize(t){const e=this.options.ticks,i=this.ctx.measureText(t).width,s=Et(this.isHorizontal()?e.maxRotation:e.minRotation),n=Math.cos(s),o=Math.sin(s),a=this._resolveTickFontOptions(0).size;return{w:i*n+a*o,h:i*o+a*n}}_getLabelCapacity(t){const e=this.options.time,i=e.displayFormats,s=i[e.unit]||i.millisecond,n=this._tickFormatFunction(t,0,ca(this,[t],this._majorUnit),s),o=this._getLabelSize(n),a=Math.floor(this.isHorizontal()?this.width/o.w:this.height/o.h)-1;return a>0?a:1}getDataTimestamps(){let t,e,i=this._cache.data||[];if(i.length)return i;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(t=0,e=s.length;t<e;++t)i=i.concat(s[t].controller.getAllParsedValues(this));return this._cache.data=this.normalize(i)}getLabelTimestamps(){const t=this._cache.labels||[];let e,i;if(t.length)return t;const s=this.getLabels();for(e=0,i=s.length;e<i;++e)t.push(ra(this,s[e]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return de(t.sort(aa))}}function ua(t,e,i){let s,n,o,a,r=0,l=t.length-1;i?(e>=t[r].pos&&e<=t[l].pos&&({lo:r,hi:l}=oe(t,"pos",e)),({pos:s,time:o}=t[r]),({pos:n,time:a}=t[l])):(e>=t[r].time&&e<=t[l].time&&({lo:r,hi:l}=oe(t,"time",e)),({time:s,pos:o}=t[r]),({time:n,pos:a}=t[l]));const h=n-s;return h?o+(a-o)*(e-s)/h:o}da.id="time",da.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}};class fa extends da{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=ua(e,this.min),this._tableRange=ua(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:i}=this,s=[],n=[];let o,a,r,l,h;for(o=0,a=t.length;o<a;++o)l=t[o],l>=e&&l<=i&&s.push(l);if(s.length<2)return[{time:e,pos:0},{time:i,pos:1}];for(o=0,a=s.length;o<a;++o)h=s[o+1],r=s[o-1],l=s[o],Math.round((h+r)/2)!==l&&n.push({time:l,pos:o/(a-1)});return n}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),i=this.getLabelTimestamps();return t=e.length&&i.length?this.normalize(e.concat(i)):e.length?e:i,t=this._cache.all=t,t}getDecimalForValue(t){return(ua(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,i=this.getDecimalForPixel(t)/e.factor-e.end;return ua(this._table,i*this._tableRange+this._minPos,!0)}}fa.id="timeseries",fa.defaults=da.defaults;var ga=Object.freeze({__proto__:null,CategoryScale:jo,LinearScale:Uo,LogarithmicScale:qo,RadialLinearScale:sa,TimeScale:da,TimeSeriesScale:fa});return an.register(Cn,ga,Jn,No),an.helpers={...Hi},an._adapters=dn,an.Animation=ls,an.Animations=cs,an.animator=a,an.controllers=zs.controllers.items,an.DatasetController=ws,an.Element=Ms,an.elements=Jn,an.Interaction=Te,an.layouts=ei,an.platforms=os,an.Scale=Es,an.Ticks=Ss,Object.assign(an,Cn,ga,Jn,No,os),an.Chart=an,"undefined"!=typeof window&&(window.Chart=an),an}));
          
          Evidence
          from
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

    3. https://cdn.jsdelivr.net (1)

      1. Information Disclosure - Suspicious Comments (1)
        1. GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bSELECT\b and was detected in the element starting with: "!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?def", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (417 bytes)
          GET https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js HTTP/1.1
          Host: cdn.jsdelivr.net
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Origin: https://localhost:3000
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: cross-site
          
          
          Request body (0 bytes)
          Response
          Status line and header section (898 bytes)
          HTTP/1.1 200 OK
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Content-Type: application/javascript; charset=utf-8
          Connection: keep-alive
          Access-Control-Allow-Origin: *
          Access-Control-Expose-Headers: *
          Timing-Allow-Origin: *
          Cache-Control: public, max-age=31536000, s-maxage=31536000, immutable
          Cross-Origin-Resource-Policy: cross-origin
          X-Content-Type-Options: nosniff
          Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
          X-JSD-Version: 5.1.3
          X-JSD-Version-Type: version
          ETag: W/"13131-qF5oFiTJGhBqUUwx6s+A3oF7LMM"
          X-Served-By: cache-fra19169-FRA
          X-Cache: HIT
          Vary: Accept-Encoding
          CF-Cache-Status: HIT
          Age: 6586871
          Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
          Server: cloudflare
          CF-RAY: 6cb278d4de6890d9-ZAG
          alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400, h3-28=":443"; ma=86400, h3-27=":443"; ma=86400
          
          
          Response body (78129 bytes)
          /*!
            * Bootstrap v5.1.3 (https://getbootstrap.com/)
            * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
            * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
            */
          !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t="transitionend",e=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e},i=t=>{const i=e(t);return i&&document.querySelector(i)?i:null},n=t=>{const i=e(t);return i?document.querySelector(i):null},s=e=>{e.dispatchEvent(new Event(t))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(t):null,a=(t,e,i)=>{Object.keys(i).forEach((n=>{const s=i[n],r=e[n],a=r&&o(r)?"element":null==(l=r)?`${l}`:{}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase();var l;if(!new RegExp(s).test(a))throw new TypeError(`${t.toUpperCase()}: Option "${n}" provided type "${a}" but expected type "${s}".`)}))},l=t=>!(!o(t)||0===t.getClientRects().length)&&"visible"===getComputedStyle(t).getPropertyValue("visibility"),c=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),h=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?h(t.parentNode):null},d=()=>{},u=t=>{t.offsetHeight},f=()=>{const{jQuery:t}=window;return t&&!document.body.hasAttribute("data-bs-no-jquery")?t:null},p=[],m=()=>"rtl"===document.documentElement.dir,g=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(p.length||document.addEventListener("DOMContentLoaded",(()=>{p.forEach((t=>t()))})),p.push(e)):e()},_=t=>{"function"==typeof t&&t()},b=(e,i,n=!0)=>{if(!n)return void _(e);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(i)+5;let r=!1;const a=({target:n})=>{n===i&&(r=!0,i.removeEventListener(t,a),_(e))};i.addEventListener(t,a),setTimeout((()=>{r||s(i)}),o)},v=(t,e,i,n)=>{let s=t.indexOf(e);if(-1===s)return t[!i&&n?t.length-1:0];const o=t.length;return s+=i?1:-1,n&&(s=(s+o)%o),t[Math.max(0,Math.min(s,o-1))]},y=/[^.]*(?=\..*)\.|.*/,w=/\..*/,E=/::\d+$/,A={};let T=1;const O={mouseenter:"mouseover",mouseleave:"mouseout"},C=/^(mouseenter|mouseleave)/i,k=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function L(t,e){return e&&`${e}::${T++}`||t.uidEvent||T++}function x(t){const e=L(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function D(t,e,i=null){const n=Object.keys(t);for(let s=0,o=n.length;s<o;s++){const o=t[n[s]];if(o.originalHandler===e&&o.delegationSelector===i)return o}return null}function S(t,e,i){const n="string"==typeof e,s=n?i:e;let o=P(t);return k.has(o)||(o=t),[n,s,o]}function N(t,e,i,n,s){if("string"!=typeof e||!t)return;if(i||(i=n,n=null),C.test(e)){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};n?n=t(n):i=t(i)}const[o,r,a]=S(e,i,n),l=x(t),c=l[a]||(l[a]={}),h=D(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=L(r,e.replace(y,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(let a=o.length;a--;)if(o[a]===r)return s.delegateTarget=r,n.oneOff&&j.off(t,s.type,e,i),i.apply(r,[s]);return null}}(t,i,n):function(t,e){return function i(n){return n.delegateTarget=t,i.oneOff&&j.off(t,n.type,e),e.apply(t,[n])}}(t,i);u.delegationSelector=o?i:null,u.originalHandler=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function I(t,e,i,n,s){const o=D(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function P(t){return t=t.replace(w,""),O[t]||t}const j={on(t,e,i,n){N(t,e,i,n,!1)},one(t,e,i,n){N(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=S(e,i,n),a=r!==e,l=x(t),c=e.startsWith(".");if(void 0!==o){if(!l||!l[r])return;return void I(t,l,r,o,s?i:null)}c&&Object.keys(l).forEach((i=>{!function(t,e,i,n){const s=e[i]||{};Object.keys(s).forEach((o=>{if(o.includes(n)){const n=s[o];I(t,e,i,n.originalHandler,n.delegationSelector)}}))}(t,l,i,e.slice(1))}));const h=l[r]||{};Object.keys(h).forEach((i=>{const n=i.replace(E,"");if(!a||e.includes(n)){const e=h[i];I(t,l,r,e.originalHandler,e.delegationSelector)}}))},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=f(),s=P(e),o=e!==s,r=k.has(s);let a,l=!0,c=!0,h=!1,d=null;return o&&n&&(a=n.Event(e,i),n(t).trigger(a),l=!a.isPropagationStopped(),c=!a.isImmediatePropagationStopped(),h=a.isDefaultPrevented()),r?(d=document.createEvent("HTMLEvents"),d.initEvent(s,l,!0)):d=new CustomEvent(e,{bubbles:l,cancelable:!0}),void 0!==i&&Object.keys(i).forEach((t=>{Object.defineProperty(d,t,{get:()=>i[t]})})),h&&d.preventDefault(),c&&t.dispatchEvent(d),d.defaultPrevented&&void 0!==a&&a.preventDefault(),d}},M=new Map,H={set(t,e,i){M.has(t)||M.set(t,new Map);const n=M.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>M.has(t)&&M.get(t).get(e)||null,remove(t,e){if(!M.has(t))return;const i=M.get(t);i.delete(e),0===i.size&&M.delete(t)}};class B{constructor(t){(t=r(t))&&(this._element=t,H.set(this._element,this.constructor.DATA_KEY,this))}dispose(){H.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY),Object.getOwnPropertyNames(this).forEach((t=>{this[t]=null}))}_queueCallback(t,e,i=!0){b(t,e,i)}static getInstance(t){return H.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.1.3"}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}}const R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss="${s}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),c(this))return;const o=n(this)||this.closest(`.${s}`);t.getOrCreateInstance(o)[e]()}))};class W extends B{static get NAME(){return"alert"}close(){if(j.trigger(this._element,"close.bs.alert").defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,"closed.bs.alert"),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=W.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(W,"close"),g(W);const $='[data-bs-toggle="button"]';class z extends B{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=z.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}function q(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function F(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}j.on(document,"click.bs.button.data-api",$,(t=>{t.preventDefault();const e=t.target.closest($);z.getOrCreateInstance(e).toggle()})),g(z);const U={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${F(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${F(e)}`)},getDataAttributes(t){if(!t)return{};const e={};return Object.keys(t.dataset).filter((t=>t.startsWith("bs"))).forEach((i=>{let n=i.replace(/^bs/,"");n=n.charAt(0).toLowerCase()+n.slice(1,n.length),e[n]=q(t.dataset[i])})),e},getDataAttribute:(t,e)=>q(t.getAttribute(`data-bs-${F(e)}`)),offset(t){const e=t.getBoundingClientRect();return{top:e.top+window.pageYOffset,left:e.left+window.pageXOffset}},position:t=>({top:t.offsetTop,left:t.offsetLeft})},V={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode;for(;n&&n.nodeType===Node.ELEMENT_NODE&&3!==n.nodeType;)n.matches(e)&&i.push(n),n=n.parentNode;return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(", ");return this.find(e,t).filter((t=>!c(t)&&l(t)))}},K="carousel",X={interval:5e3,keyboard:!0,slide:!1,pause:"hover",wrap:!0,touch:!0},Y={interval:"(number|boolean)",keyboard:"boolean",slide:"(boolean|string)",pause:"(string|boolean)",wrap:"boolean",touch:"boolean"},Q="next",G="prev",Z="left",J="right",tt={ArrowLeft:J,ArrowRight:Z},et="slid.bs.carousel",it="active",nt=".active.carousel-item";class st extends B{constructor(t,e){super(t),this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this.touchStartX=0,this.touchDeltaX=0,this._config=this._getConfig(e),this._indicatorsElement=V.findOne(".carousel-indicators",this._element),this._touchSupported="ontouchstart"in document.documentElement||navigator.maxTouchPoints>0,this._pointerEvent=Boolean(window.PointerEvent),this._addEventListeners()}static get Default(){return X}static get NAME(){return K}next(){this._slide(Q)}nextWhenVisible(){!document.hidden&&l(this._element)&&this.next()}prev(){this._slide(G)}pause(t){t||(this._isPaused=!0),V.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(s(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null}cycle(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config&&this._config.interval&&!this._isPaused&&(this._updateInterval(),this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))}to(t){this._activeElement=V.findOne(nt,this._element);const e=this._getItemIndex(this._activeElement);if(t>this._items.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,et,(()=>this.to(t)));if(e===t)return this.pause(),void this.cycle();const i=t>e?Q:G;this._slide(i,this._items[t])}_getConfig(t){return t={...X,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(K,t,Y),t}_handleSwipe(){const t=Math.abs(this.touchDeltaX);if(t<=40)return;const e=t/this.touchDeltaX;this.touchDeltaX=0,e&&this._slide(e>0?J:Z)}_addEventListeners(){this._config.keyboard&&j.on(this._element,"keydown.bs.carousel",(t=>this._keydown(t))),"hover"===this._config.pause&&(j.on(this._element,"mouseenter.bs.carousel",(t=>this.pause(t))),j.on(this._element,"mouseleave.bs.carousel",(t=>this.cycle(t)))),this._config.touch&&this._touchSupported&&this._addTouchEventListeners()}_addTouchEventListeners(){const t=t=>this._pointerEvent&&("pen"===t.pointerType||"touch"===t.pointerType),e=e=>{t(e)?this.touchStartX=e.clientX:this._pointerEvent||(this.touchStartX=e.touches[0].clientX)},i=t=>{this.touchDeltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this.touchStartX},n=e=>{t(e)&&(this.touchDeltaX=e.clientX-this.touchStartX),this._handleSwipe(),"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((t=>this.cycle(t)),500+this._config.interval))};V.find(".carousel-item img",this._element).forEach((t=>{j.on(t,"dragstart.bs.carousel",(t=>t.preventDefault()))})),this._pointerEvent?(j.on(this._element,"pointerdown.bs.carousel",(t=>e(t))),j.on(this._element,"pointerup.bs.carousel",(t=>n(t))),this._element.classList.add("pointer-event")):(j.on(this._element,"touchstart.bs.carousel",(t=>e(t))),j.on(this._element,"touchmove.bs.carousel",(t=>i(t))),j.on(this._element,"touchend.bs.carousel",(t=>n(t))))}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=tt[t.key];e&&(t.preventDefault(),this._slide(e))}_getItemIndex(t){return this._items=t&&t.parentNode?V.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)}_getItemByOrder(t,e){const i=t===Q;return v(this._items,e,i,this._config.wrap)}_triggerSlideEvent(t,e){const i=this._getItemIndex(t),n=this._getItemIndex(V.findOne(nt,this._element));return j.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:n,to:i})}_setActiveIndicatorElement(t){if(this._indicatorsElement){const e=V.findOne(".active",this._indicatorsElement);e.classList.remove(it),e.removeAttribute("aria-current");const i=V.find("[data-bs-target]",this._indicatorsElement);for(let e=0;e<i.length;e++)if(Number.parseInt(i[e].getAttribute("data-bs-slide-to"),10)===this._getItemIndex(t)){i[e].classList.add(it),i[e].setAttribute("aria-current","true");break}}}_updateInterval(){const t=this._activeElement||V.findOne(nt,this._element);if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);e?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=e):this._config.interval=this._config.defaultInterval||this._config.interval}_slide(t,e){const i=this._directionToOrder(t),n=V.findOne(nt,this._element),s=this._getItemIndex(n),o=e||this._getItemByOrder(i,n),r=this._getItemIndex(o),a=Boolean(this._interval),l=i===Q,c=l?"carousel-item-start":"carousel-item-end",h=l?"carousel-item-next":"carousel-item-prev",d=this._orderToDirection(i);if(o&&o.classList.contains(it))return void(this._isSliding=!1);if(this._isSliding)return;if(this._triggerSlideEvent(o,d).defaultPrevented)return;if(!n||!o)return;this._isSliding=!0,a&&this.pause(),this._setActiveIndicatorElement(o),this._activeElement=o;const f=()=>{j.trigger(this._element,et,{relatedTarget:o,direction:d,from:s,to:r})};if(this._element.classList.contains("slide")){o.classList.add(h),u(o),n.classList.add(c),o.classList.add(c);const t=()=>{o.classList.remove(c,h),o.classList.add(it),n.classList.remove(it,h,c),this._isSliding=!1,setTimeout(f,0)};this._queueCallback(t,n,!0)}else n.classList.remove(it),o.classList.add(it),this._isSliding=!1,f();a&&this.cycle()}_directionToOrder(t){return[J,Z].includes(t)?m()?t===Z?G:Q:t===Z?Q:G:t}_orderToDirection(t){return[Q,G].includes(t)?m()?t===G?Z:J:t===G?J:Z:t}static carouselInterface(t,e){const i=st.getOrCreateInstance(t,e);let{_config:n}=i;"object"==typeof e&&(n={...n,...e});const s="string"==typeof e?e:n.slide;if("number"==typeof e)i.to(e);else if("string"==typeof s){if(void 0===i[s])throw new TypeError(`No method named "${s}"`);i[s]()}else n.interval&&n.ride&&(i.pause(),i.cycle())}static jQueryInterface(t){return this.each((function(){st.carouselInterface(this,t)}))}static dataApiClickHandler(t){const e=n(this);if(!e||!e.classList.contains("carousel"))return;const i={...U.getDataAttributes(e),...U.getDataAttributes(this)},s=this.getAttribute("data-bs-slide-to");s&&(i.interval=!1),st.carouselInterface(e,i),s&&st.getInstance(e).to(s),t.preventDefault()}}j.on(document,"click.bs.carousel.data-api","[data-bs-slide], [data-bs-slide-to]",st.dataApiClickHandler),j.on(window,"load.bs.carousel.data-api",(()=>{const t=V.find('[data-bs-ride="carousel"]');for(let e=0,i=t.length;e<i;e++)st.carouselInterface(t[e],st.getInstance(t[e]))})),g(st);const ot="collapse",rt={toggle:!0,parent:null},at={toggle:"boolean",parent:"(null|element)"},lt="show",ct="collapse",ht="collapsing",dt="collapsed",ut=":scope .collapse .collapse",ft='[data-bs-toggle="collapse"]';class pt extends B{constructor(t,e){super(t),this._isTransitioning=!1,this._config=this._getConfig(e),this._triggerArray=[];const n=V.find(ft);for(let t=0,e=n.length;t<e;t++){const e=n[t],s=i(e),o=V.find(s).filter((t=>t===this._element));null!==s&&o.length&&(this._selector=s,this._triggerArray.push(e))}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return rt}static get NAME(){return ot}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t,e=[];if(this._config.parent){const t=V.find(ut,this._config.parent);e=V.find(".collapse.show, .collapse.collapsing",this._config.parent).filter((e=>!t.includes(e)))}const i=V.findOne(this._selector);if(e.length){const n=e.find((t=>i!==t));if(t=n?pt.getInstance(n):null,t&&t._isTransitioning)return}if(j.trigger(this._element,"show.bs.collapse").defaultPrevented)return;e.forEach((e=>{i!==e&&pt.getOrCreateInstance(e,{toggle:!1}).hide(),t||H.set(e,"bs.collapse",null)}));const n=this._getDimension();this._element.classList.remove(ct),this._element.classList.add(ht),this._element.style[n]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const s=`scroll${n[0].toUpperCase()+n.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct,lt),this._element.style[n]="",j.trigger(this._element,"shown.bs.collapse")}),this._element,!0),this._element.style[n]=`${this._element[s]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,"hide.bs.collapse").defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,u(this._element),this._element.classList.add(ht),this._element.classList.remove(ct,lt);const e=this._triggerArray.length;for(let t=0;t<e;t++){const e=this._triggerArray[t],i=n(e);i&&!this._isShown(i)&&this._addAriaAndCollapsedClass([e],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(ht),this._element.classList.add(ct),j.trigger(this._element,"hidden.bs.collapse")}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(lt)}_getConfig(t){return(t={...rt,...U.getDataAttributes(this._element),...t}).toggle=Boolean(t.toggle),t.parent=r(t.parent),a(ot,t,at),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=V.find(ut,this._config.parent);V.find(ft,this._config.parent).filter((e=>!t.includes(e))).forEach((t=>{const e=n(t);e&&this._addAriaAndCollapsedClass([t],this._isShown(e))}))}_addAriaAndCollapsedClass(t,e){t.length&&t.forEach((t=>{e?t.classList.remove(dt):t.classList.add(dt),t.setAttribute("aria-expanded",e)}))}static jQueryInterface(t){return this.each((function(){const e={};"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1);const i=pt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}j.on(document,"click.bs.collapse.data-api",ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();const e=i(this);V.find(e).forEach((t=>{pt.getOrCreateInstance(t,{toggle:!1}).toggle()}))})),g(pt);var mt="top",gt="bottom",_t="right",bt="left",vt="auto",yt=[mt,gt,_t,bt],wt="start",Et="end",At="clippingParents",Tt="viewport",Ot="popper",Ct="reference",kt=yt.reduce((function(t,e){return t.concat([e+"-"+wt,e+"-"+Et])}),[]),Lt=[].concat(yt,[vt]).reduce((function(t,e){return t.concat([e,e+"-"+wt,e+"-"+Et])}),[]),xt="beforeRead",Dt="read",St="afterRead",Nt="beforeMain",It="main",Pt="afterMain",jt="beforeWrite",Mt="write",Ht="afterWrite",Bt=[xt,Dt,St,Nt,It,Pt,jt,Mt,Ht];function Rt(t){return t?(t.nodeName||"").toLowerCase():null}function Wt(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function $t(t){return t instanceof Wt(t).Element||t instanceof Element}function zt(t){return t instanceof Wt(t).HTMLElement||t instanceof HTMLElement}function qt(t){return"undefined"!=typeof ShadowRoot&&(t instanceof Wt(t).ShadowRoot||t instanceof ShadowRoot)}const Ft={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];zt(s)&&Rt(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});zt(n)&&Rt(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function Ut(t){return t.split("-")[0]}function Vt(t,e){var i=t.getBoundingClientRect();return{width:i.width/1,height:i.height/1,top:i.top/1,right:i.right/1,bottom:i.bottom/1,left:i.left/1,x:i.left/1,y:i.top/1}}function Kt(t){var e=Vt(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Xt(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&qt(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function Yt(t){return Wt(t).getComputedStyle(t)}function Qt(t){return["table","td","th"].indexOf(Rt(t))>=0}function Gt(t){return(($t(t)?t.ownerDocument:t.document)||window.document).documentElement}function Zt(t){return"html"===Rt(t)?t:t.assignedSlot||t.parentNode||(qt(t)?t.host:null)||Gt(t)}function Jt(t){return zt(t)&&"fixed"!==Yt(t).position?t.offsetParent:null}function te(t){for(var e=Wt(t),i=Jt(t);i&&Qt(i)&&"static"===Yt(i).position;)i=Jt(i);return i&&("html"===Rt(i)||"body"===Rt(i)&&"static"===Yt(i).position)?e:i||function(t){var e=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&zt(t)&&"fixed"===Yt(t).position)return null;for(var i=Zt(t);zt(i)&&["html","body"].indexOf(Rt(i))<0;){var n=Yt(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function ee(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}var ie=Math.max,ne=Math.min,se=Math.round;function oe(t,e,i){return ie(t,ne(e,i))}function re(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function ae(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const le={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=Ut(i.placement),l=ee(a),c=[bt,_t].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return re("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:ae(t,yt))}(s.padding,i),d=Kt(o),u="y"===l?mt:bt,f="y"===l?gt:_t,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=te(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,E=oe(v,w,y),A=l;i.modifiersData[n]=((e={})[A]=E,e.centerOffset=E-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Xt(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ce(t){return t.split("-")[1]}var he={top:"auto",right:"auto",bottom:"auto",left:"auto"};function de(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=!0===h?function(t){var e=t.x,i=t.y,n=window.devicePixelRatio||1;return{x:se(se(e*n)/n)||0,y:se(se(i*n)/n)||0}}(r):"function"==typeof h?h(r):r,u=d.x,f=void 0===u?0:u,p=d.y,m=void 0===p?0:p,g=r.hasOwnProperty("x"),_=r.hasOwnProperty("y"),b=bt,v=mt,y=window;if(c){var w=te(i),E="clientHeight",A="clientWidth";w===Wt(i)&&"static"!==Yt(w=Gt(i)).position&&"absolute"===a&&(E="scrollHeight",A="scrollWidth"),w=w,s!==mt&&(s!==bt&&s!==_t||o!==Et)||(v=gt,m-=w[E]-n.height,m*=l?1:-1),s!==bt&&(s!==mt&&s!==gt||o!==Et)||(b=_t,f-=w[A]-n.width,f*=l?1:-1)}var T,O=Object.assign({position:a},c&&he);return l?Object.assign({},O,((T={})[v]=_?"0":"",T[b]=g?"0":"",T.transform=(y.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",T)):Object.assign({},O,((e={})[v]=_?m+"px":"",e[b]=g?f+"px":"",e.transform="",e))}const ue={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:Ut(e.placement),variation:ce(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,de(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,de(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var fe={passive:!0};const pe={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=Wt(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,fe)})),a&&l.addEventListener("resize",i.update,fe),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,fe)})),a&&l.removeEventListener("resize",i.update,fe)}},data:{}};var me={left:"right",right:"left",bottom:"top",top:"bottom"};function ge(t){return t.replace(/left|right|bottom|top/g,(function(t){return me[t]}))}var _e={start:"end",end:"start"};function be(t){return t.replace(/start|end/g,(function(t){return _e[t]}))}function ve(t){var e=Wt(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function ye(t){return Vt(Gt(t)).left+ve(t).scrollLeft}function we(t){var e=Yt(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ee(t){return["html","body","#document"].indexOf(Rt(t))>=0?t.ownerDocument.body:zt(t)&&we(t)?t:Ee(Zt(t))}function Ae(t,e){var i;void 0===e&&(e=[]);var n=Ee(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=Wt(n),r=s?[o].concat(o.visualViewport||[],we(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Ae(Zt(r)))}function Te(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Oe(t,e){return e===Tt?Te(function(t){var e=Wt(t),i=Gt(t),n=e.visualViewport,s=i.clientWidth,o=i.clientHeight,r=0,a=0;return n&&(s=n.width,o=n.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(r=n.offsetLeft,a=n.offsetTop)),{width:s,height:o,x:r+ye(t),y:a}}(t)):zt(e)?function(t){var e=Vt(t);return e.top=e.top+t.clientTop,e.left=e.left+t.clientLeft,e.bottom=e.top+t.clientHeight,e.right=e.left+t.clientWidth,e.width=t.clientWidth,e.height=t.clientHeight,e.x=e.left,e.y=e.top,e}(e):Te(function(t){var e,i=Gt(t),n=ve(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ie(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ie(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+ye(t),l=-n.scrollTop;return"rtl"===Yt(s||i).direction&&(a+=ie(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Gt(t)))}function Ce(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?Ut(s):null,r=s?ce(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case mt:e={x:a,y:i.y-n.height};break;case gt:e={x:a,y:i.y+i.height};break;case _t:e={x:i.x+i.width,y:l};break;case bt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?ee(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case wt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Et:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ke(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.boundary,r=void 0===o?At:o,a=i.rootBoundary,l=void 0===a?Tt:a,c=i.elementContext,h=void 0===c?Ot:c,d=i.altBoundary,u=void 0!==d&&d,f=i.padding,p=void 0===f?0:f,m=re("number"!=typeof p?p:ae(p,yt)),g=h===Ot?Ct:Ot,_=t.rects.popper,b=t.elements[u?g:h],v=function(t,e,i){var n="clippingParents"===e?function(t){var e=Ae(Zt(t)),i=["absolute","fixed"].indexOf(Yt(t).position)>=0&&zt(t)?te(t):t;return $t(i)?e.filter((function(t){return $t(t)&&Xt(t,i)&&"body"!==Rt(t)})):[]}(t):[].concat(e),s=[].concat(n,[i]),o=s[0],r=s.reduce((function(e,i){var n=Oe(t,i);return e.top=ie(n.top,e.top),e.right=ne(n.right,e.right),e.bottom=ne(n.bottom,e.bottom),e.left=ie(n.left,e.left),e}),Oe(t,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}($t(b)?b:b.contextElement||Gt(t.elements.popper),r,l),y=Vt(t.elements.reference),w=Ce({reference:y,element:_,strategy:"absolute",placement:s}),E=Te(Object.assign({},_,w)),A=h===Ot?E:y,T={top:v.top-A.top+m.top,bottom:A.bottom-v.bottom+m.bottom,left:v.left-A.left+m.left,right:A.right-v.right+m.right},O=t.modifiersData.offset;if(h===Ot&&O){var C=O[s];Object.keys(T).forEach((function(t){var e=[_t,gt].indexOf(t)>=0?1:-1,i=[mt,gt].indexOf(t)>=0?"y":"x";T[t]+=C[i]*e}))}return T}function Le(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?Lt:l,h=ce(n),d=h?a?kt:kt.filter((function(t){return ce(t)===h})):yt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ke(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[Ut(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const xe={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=Ut(g),b=l||(_!==g&&p?function(t){if(Ut(t)===vt)return[];var e=ge(t);return[be(t),e,be(e)]}(g):[ge(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(Ut(i)===vt?Le(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,E=new Map,A=!0,T=v[0],O=0;O<v.length;O++){var C=v[O],k=Ut(C),L=ce(C)===wt,x=[mt,gt].indexOf(k)>=0,D=x?"width":"height",S=ke(e,{placement:C,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),N=x?L?_t:bt:L?gt:mt;y[D]>w[D]&&(N=ge(N));var I=ge(N),P=[];if(o&&P.push(S[k]<=0),a&&P.push(S[N]<=0,S[I]<=0),P.every((function(t){return t}))){T=C,A=!1;break}E.set(C,P)}if(A)for(var j=function(t){var e=v.find((function(e){var i=E.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},M=p?3:1;M>0&&"break"!==j(M);M--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function De(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function Se(t){return[mt,_t,gt,bt].some((function(e){return t[e]>=0}))}const Ne={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ke(e,{elementContext:"reference"}),a=ke(e,{altBoundary:!0}),l=De(r,n),c=De(a,s,o),h=Se(l),d=Se(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},Ie={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=Lt.reduce((function(t,i){return t[i]=function(t,e,i){var n=Ut(t),s=[bt,mt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[bt,_t].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},Pe={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=Ce({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},je={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ke(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=Ut(e.placement),b=ce(e.placement),v=!b,y=ee(_),w="x"===y?"y":"x",E=e.modifiersData.popperOffsets,A=e.rects.reference,T=e.rects.popper,O="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,C={x:0,y:0};if(E){if(o||a){var k="y"===y?mt:bt,L="y"===y?gt:_t,x="y"===y?"height":"width",D=E[y],S=E[y]+g[k],N=E[y]-g[L],I=f?-T[x]/2:0,P=b===wt?A[x]:T[x],j=b===wt?-T[x]:-A[x],M=e.elements.arrow,H=f&&M?Kt(M):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},R=B[k],W=B[L],$=oe(0,A[x],H[x]),z=v?A[x]/2-I-$-R-O:P-$-R-O,q=v?-A[x]/2+I+$+W+O:j+$+W+O,F=e.elements.arrow&&te(e.elements.arrow),U=F?"y"===y?F.clientTop||0:F.clientLeft||0:0,V=e.modifiersData.offset?e.modifiersData.offset[e.placement][y]:0,K=E[y]+z-V-U,X=E[y]+q-V;if(o){var Y=oe(f?ne(S,K):S,D,f?ie(N,X):N);E[y]=Y,C[y]=Y-D}if(a){var Q="x"===y?mt:bt,G="x"===y?gt:_t,Z=E[w],J=Z+g[Q],tt=Z-g[G],et=oe(f?ne(J,K):J,Z,f?ie(tt,X):tt);E[w]=et,C[w]=et-Z}}e.modifiersData[n]=C}},requiresIfExists:["offset"]};function Me(t,e,i){void 0===i&&(i=!1);var n=zt(e);zt(e)&&function(t){var e=t.getBoundingClientRect();e.width,t.offsetWidth,e.height,t.offsetHeight}(e);var s,o,r=Gt(e),a=Vt(t),l={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(n||!n&&!i)&&(("body"!==Rt(e)||we(r))&&(l=(s=e)!==Wt(s)&&zt(s)?{scrollLeft:(o=s).scrollLeft,scrollTop:o.scrollTop}:ve(s)),zt(e)?((c=Vt(e)).x+=e.clientLeft,c.y+=e.clientTop):r&&(c.x=ye(r))),{x:a.left+l.scrollLeft-c.x,y:a.top+l.scrollTop-c.y,width:a.width,height:a.height}}function He(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var Be={placement:"bottom",modifiers:[],strategy:"absolute"};function Re(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function We(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?Be:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},Be,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:$t(t)?Ae(t):t.contextElement?Ae(t.contextElement):[],popper:Ae(e)};var r,c,u=function(t){var e=He(t);return Bt.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled})),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(Re(e,i)){a.rects={reference:Me(e,te(i),"fixed"===a.options.strategy),popper:Kt(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!Re(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var $e=We(),ze=We({defaultModifiers:[pe,Pe,ue,Ft]}),qe=We({defaultModifiers:[pe,Pe,ue,Ft,Ie,xe,je,le,Ne]});const Fe=Object.freeze({__proto__:null,popperGenerator:We,detectOverflow:ke,createPopperBase:$e,createPopper:qe,createPopperLite:ze,top:mt,bottom:gt,right:_t,left:bt,auto:vt,basePlacements:yt,start:wt,end:Et,clippingParents:At,viewport:Tt,popper:Ot,reference:Ct,variationPlacements:kt,placements:Lt,beforeRead:xt,read:Dt,afterRead:St,beforeMain:Nt,main:It,afterMain:Pt,beforeWrite:jt,write:Mt,afterWrite:Ht,modifierPhases:Bt,applyStyles:Ft,arrow:le,computeStyles:ue,eventListeners:pe,flip:xe,hide:Ne,offset:Ie,popperOffsets:Pe,preventOverflow:je}),Ue="dropdown",Ve="Escape",Ke="Space",Xe="ArrowUp",Ye="ArrowDown",Qe=new RegExp("ArrowUp|ArrowDown|Escape"),Ge="click.bs.dropdown.data-api",Ze="keydown.bs.dropdown.data-api",Je="show",ti='[data-bs-toggle="dropdown"]',ei=".dropdown-menu",ii=m()?"top-end":"top-start",ni=m()?"top-start":"top-end",si=m()?"bottom-end":"bottom-start",oi=m()?"bottom-start":"bottom-end",ri=m()?"left-start":"right-start",ai=m()?"right-start":"left-start",li={offset:[0,2],boundary:"clippingParents",reference:"toggle",display:"dynamic",popperConfig:null,autoClose:!0},ci={offset:"(array|string|function)",boundary:"(string|element)",reference:"(string|element|object)",display:"string",popperConfig:"(null|object|function)",autoClose:"(boolean|string)"};class hi extends B{constructor(t,e){super(t),this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar()}static get Default(){return li}static get DefaultType(){return ci}static get NAME(){return Ue}toggle(){return this._isShown()?this.hide():this.show()}show(){if(c(this._element)||this._isShown(this._menu))return;const t={relatedTarget:this._element};if(j.trigger(this._element,"show.bs.dropdown",t).defaultPrevented)return;const e=hi.getParentFromElement(this._element);this._inNavbar?U.setDataAttribute(this._menu,"popper","none"):this._createPopper(e),"ontouchstart"in document.documentElement&&!e.closest(".navbar-nav")&&[].concat(...document.body.children).forEach((t=>j.on(t,"mouseover",d))),this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add(Je),this._element.classList.add(Je),j.trigger(this._element,"shown.bs.dropdown",t)}hide(){if(c(this._element)||!this._isShown(this._menu))return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){j.trigger(this._element,"hide.bs.dropdown",t).defaultPrevented||("ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._popper&&this._popper.destroy(),this._menu.classList.remove(Je),this._element.classList.remove(Je),this._element.setAttribute("aria-expanded","false"),U.removeDataAttribute(this._menu,"popper"),j.trigger(this._element,"hidden.bs.dropdown",t))}_getConfig(t){if(t={...this.constructor.Default,...U.getDataAttributes(this._element),...t},a(Ue,t,this.constructor.DefaultType),"object"==typeof t.reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Ue.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(t){if(void 0===Fe)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let e=this._element;"parent"===this._config.reference?e=t:o(this._config.reference)?e=r(this._config.reference):"object"==typeof this._config.reference&&(e=this._config.reference);const i=this._getPopperConfig(),n=i.modifiers.find((t=>"applyStyles"===t.name&&!1===t.enabled));this._popper=qe(e,this._menu,i),n&&U.setDataAttribute(this._menu,"popper","static")}_isShown(t=this._element){return t.classList.contains(Je)}_getMenuElement(){return V.next(this._element,ei)[0]}_getPlacement(){const t=this._element.parentNode;if(t.classList.contains("dropend"))return ri;if(t.classList.contains("dropstart"))return ai;const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?ni:ii:e?oi:si}_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return"static"===this._config.display&&(t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,..."function"==typeof this._config.popperConfig?this._config.popperConfig(t):this._config.popperConfig}}_selectMenuItem({key:t,target:e}){const i=V.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter(l);i.length&&v(i,e,t===Ye,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(t&&(2===t.button||"keyup"===t.type&&"Tab"!==t.key))return;const e=V.find(ti);for(let i=0,n=e.length;i<n;i++){const n=hi.getInstance(e[i]);if(!n||!1===n._config.autoClose)continue;if(!n._isShown())continue;const s={relatedTarget:n._element};if(t){const e=t.composedPath(),i=e.includes(n._menu);if(e.includes(n._element)||"inside"===n._config.autoClose&&!i||"outside"===n._config.autoClose&&i)continue;if(n._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;"click"===t.type&&(s.clickEvent=t)}n._completeHide(s)}}static getParentFromElement(t){return n(t)||t.parentNode}static dataApiKeydownHandler(t){if(/input|textarea/i.test(t.target.tagName)?t.key===Ke||t.key!==Ve&&(t.key!==Ye&&t.key!==Xe||t.target.closest(ei)):!Qe.test(t.key))return;const e=this.classList.contains(Je);if(!e&&t.key===Ve)return;if(t.preventDefault(),t.stopPropagation(),c(this))return;const i=this.matches(ti)?this:V.prev(this,ti)[0],n=hi.getOrCreateInstance(i);if(t.key!==Ve)return t.key===Xe||t.key===Ye?(e||n.show(),void n._selectMenuItem(t)):void(e&&t.key!==Ke||hi.clearMenus());n.hide()}}j.on(document,Ze,ti,hi.dataApiKeydownHandler),j.on(document,Ze,ei,hi.dataApiKeydownHandler),j.on(document,Ge,hi.clearMenus),j.on(document,"keyup.bs.dropdown.data-api",hi.clearMenus),j.on(document,Ge,ti,(function(t){t.preventDefault(),hi.getOrCreateInstance(this).toggle()})),g(hi);const di=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",ui=".sticky-top";class fi{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,"paddingRight",(e=>e+t)),this._setElementAttributes(di,"paddingRight",(e=>e+t)),this._setElementAttributes(ui,"marginRight",(e=>e-t))}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t)[e];t.style[e]=`${i(Number.parseFloat(s))}px`}))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,"paddingRight"),this._resetElementAttributes(di,"paddingRight"),this._resetElementAttributes(ui,"marginRight")}_saveInitialAttribute(t,e){const i=t.style[e];i&&U.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=U.getDataAttribute(t,e);void 0===i?t.style.removeProperty(e):(U.removeDataAttribute(t,e),t.style[e]=i)}))}_applyManipulationCallback(t,e){o(t)?e(t):V.find(t,this._element).forEach(e)}isOverflowing(){return this.getWidth()>0}}const pi={className:"modal-backdrop",isVisible:!0,isAnimated:!1,rootElement:"body",clickCallback:null},mi={className:"string",isVisible:"boolean",isAnimated:"boolean",rootElement:"(element|string)",clickCallback:"(function|null)"},gi="show",_i="mousedown.bs.backdrop";class bi{constructor(t){this._config=this._getConfig(t),this._isAppended=!1,this._element=null}show(t){this._config.isVisible?(this._append(),this._config.isAnimated&&u(this._getElement()),this._getElement().classList.add(gi),this._emulateAnimation((()=>{_(t)}))):_(t)}hide(t){this._config.isVisible?(this._getElement().classList.remove(gi),this._emulateAnimation((()=>{this.dispose(),_(t)}))):_(t)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_getConfig(t){return(t={...pi,..."object"==typeof t?t:{}}).rootElement=r(t.rootElement),a("backdrop",t,mi),t}_append(){this._isAppended||(this._config.rootElement.append(this._getElement()),j.on(this._getElement(),_i,(()=>{_(this._config.clickCallback)})),this._isAppended=!0)}dispose(){this._isAppended&&(j.off(this._element,_i),this._element.remove(),this._isAppended=!1)}_emulateAnimation(t){b(t,this._getElement(),this._config.isAnimated)}}const vi={trapElement:null,autofocus:!0},yi={trapElement:"element",autofocus:"boolean"},wi=".bs.focustrap",Ei="backward";class Ai{constructor(t){this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}activate(){const{trapElement:t,autofocus:e}=this._config;this._isActive||(e&&t.focus(),j.off(document,wi),j.on(document,"focusin.bs.focustrap",(t=>this._handleFocusin(t))),j.on(document,"keydown.tab.bs.focustrap",(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,wi))}_handleFocusin(t){const{target:e}=t,{trapElement:i}=this._config;if(e===document||e===i||i.contains(e))return;const n=V.focusableChildren(i);0===n.length?i.focus():this._lastTabNavDirection===Ei?n[n.length-1].focus():n[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?Ei:"forward")}_getConfig(t){return t={...vi,..."object"==typeof t?t:{}},a("focustrap",t,yi),t}}const Ti="modal",Oi="Escape",Ci={backdrop:!0,keyboard:!0,focus:!0},ki={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean"},Li="hidden.bs.modal",xi="show.bs.modal",Di="resize.bs.modal",Si="click.dismiss.bs.modal",Ni="keydown.dismiss.bs.modal",Ii="mousedown.dismiss.bs.modal",Pi="modal-open",ji="show",Mi="modal-static";class Hi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._dialog=V.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._ignoreBackdropClick=!1,this._isTransitioning=!1,this._scrollBar=new fi}static get Default(){return Ci}static get NAME(){return Ti}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,xi,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isAnimated()&&(this._isTransitioning=!0),this._scrollBar.hide(),document.body.classList.add(Pi),this._adjustDialog(),this._setEscapeEvent(),this._setResizeEvent(),j.on(this._dialog,Ii,(()=>{j.one(this._element,"mouseup.dismiss.bs.modal",(t=>{t.target===this._element&&(this._ignoreBackdropClick=!0)}))})),this._showBackdrop((()=>this._showElement(t))))}hide(){if(!this._isShown||this._isTransitioning)return;if(j.trigger(this._element,"hide.bs.modal").defaultPrevented)return;this._isShown=!1;const t=this._isAnimated();t&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),this._focustrap.deactivate(),this._element.classList.remove(ji),j.off(this._element,Si),j.off(this._dialog,Ii),this._queueCallback((()=>this._hideModal()),this._element,t)}dispose(){[window,this._dialog].forEach((t=>j.off(t,".bs.modal"))),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new bi({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_getConfig(t){return t={...Ci,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Ti,t,ki),t}_showElement(t){const e=this._isAnimated(),i=V.findOne(".modal-body",this._dialog);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0,i&&(i.scrollTop=0),e&&u(this._element),this._element.classList.add(ji),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,"shown.bs.modal",{relatedTarget:t})}),this._dialog,e)}_setEscapeEvent(){this._isShown?j.on(this._element,Ni,(t=>{this._config.keyboard&&t.key===Oi?(t.preventDefault(),this.hide()):this._config.keyboard||t.key!==Oi||this._triggerBackdropTransition()})):j.off(this._element,Ni)}_setResizeEvent(){this._isShown?j.on(window,Di,(()=>this._adjustDialog())):j.off(window,Di)}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Pi),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,Li)}))}_showBackdrop(t){j.on(this._element,Si,(t=>{this._ignoreBackdropClick?this._ignoreBackdropClick=!1:t.target===t.currentTarget&&(!0===this._config.backdrop?this.hide():"static"===this._config.backdrop&&this._triggerBackdropTransition())})),this._backdrop.show(t)}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(j.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;const{classList:t,scrollHeight:e,style:i}=this._element,n=e>document.documentElement.clientHeight;!n&&"hidden"===i.overflowY||t.contains(Mi)||(n||(i.overflowY="hidden"),t.add(Mi),this._queueCallback((()=>{t.remove(Mi),n||this._queueCallback((()=>{i.overflowY=""}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;(!i&&t&&!m()||i&&!t&&m())&&(this._element.style.paddingLeft=`${e}px`),(i&&!t&&!m()||!i&&t&&m())&&(this._element.style.paddingRight=`${e}px`)}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=Hi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t](e)}}))}}j.on(document,"click.bs.modal.data-api",'[data-bs-toggle="modal"]',(function(t){const e=n(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),j.one(e,xi,(t=>{t.defaultPrevented||j.one(e,Li,(()=>{l(this)&&this.focus()}))}));const i=V.findOne(".modal.show");i&&Hi.getInstance(i).hide(),Hi.getOrCreateInstance(e).toggle(this)})),R(Hi),g(Hi);const Bi="offcanvas",Ri={backdrop:!0,keyboard:!0,scroll:!1},Wi={backdrop:"boolean",keyboard:"boolean",scroll:"boolean"},$i="show",zi=".offcanvas.show",qi="hidden.bs.offcanvas";class Fi extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get NAME(){return Bi}static get Default(){return Ri}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,"show.bs.offcanvas",{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._element.style.visibility="visible",this._backdrop.show(),this._config.scroll||(new fi).hide(),this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add($i),this._queueCallback((()=>{this._config.scroll||this._focustrap.activate(),j.trigger(this._element,"shown.bs.offcanvas",{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,"hide.bs.offcanvas").defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.remove($i),this._backdrop.hide(),this._queueCallback((()=>{this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._element.style.visibility="hidden",this._config.scroll||(new fi).reset(),j.trigger(this._element,qi)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_getConfig(t){return t={...Ri,...U.getDataAttributes(this._element),..."object"==typeof t?t:{}},a(Bi,t,Wi),t}_initializeBackDrop(){return new bi({className:"offcanvas-backdrop",isVisible:this._config.backdrop,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:()=>this.hide()})}_initializeFocusTrap(){return new Ai({trapElement:this._element})}_addEventListeners(){j.on(this._element,"keydown.dismiss.bs.offcanvas",(t=>{this._config.keyboard&&"Escape"===t.key&&this.hide()}))}static jQueryInterface(t){return this.each((function(){const e=Fi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}j.on(document,"click.bs.offcanvas.data-api",'[data-bs-toggle="offcanvas"]',(function(t){const e=n(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this))return;j.one(e,qi,(()=>{l(this)&&this.focus()}));const i=V.findOne(zi);i&&i!==e&&Fi.getInstance(i).hide(),Fi.getOrCreateInstance(e).toggle(this)})),j.on(window,"load.bs.offcanvas.data-api",(()=>V.find(zi).forEach((t=>Fi.getOrCreateInstance(t).show())))),R(Fi),g(Fi);const Ui=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Vi=/^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i,Ki=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i,Xi=(t,e)=>{const i=t.nodeName.toLowerCase();if(e.includes(i))return!Ui.has(i)||Boolean(Vi.test(t.nodeValue)||Ki.test(t.nodeValue));const n=e.filter((t=>t instanceof RegExp));for(let t=0,e=n.length;t<e;t++)if(n[t].test(i))return!0;return!1};function Yi(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(let t=0,i=s.length;t<i;t++){const i=s[t],n=i.nodeName.toLowerCase();if(!Object.keys(e).includes(n)){i.remove();continue}const o=[].concat(...i.attributes),r=[].concat(e["*"]||[],e[n]||[]);o.forEach((t=>{Xi(t,r)||i.removeAttribute(t.nodeName)}))}return n.body.innerHTML}const Qi="tooltip",Gi=new Set(["sanitize","allowList","sanitizeFn"]),Zi={animation:"boolean",template:"string",title:"(string|element|function)",trigger:"string",delay:"(number|object)",html:"boolean",selector:"(string|boolean)",placement:"(string|function)",offset:"(array|string|function)",container:"(string|element|boolean)",fallbackPlacements:"array",boundary:"(string|element)",customClass:"(string|function)",sanitize:"boolean",sanitizeFn:"(null|function)",allowList:"object",popperConfig:"(null|object|function)"},Ji={AUTO:"auto",TOP:"top",RIGHT:m()?"left":"right",BOTTOM:"bottom",LEFT:m()?"right":"left"},tn={animation:!0,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:[0,0],container:!1,fallbackPlacements:["top","right","bottom","left"],boundary:"clippingParents",customClass:"",sanitize:!0,sanitizeFn:null,allowList:{"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},popperConfig:null},en={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},nn="fade",sn="show",on="show",rn="out",an=".tooltip-inner",ln=".modal",cn="hide.bs.modal",hn="hover",dn="focus";class un extends B{constructor(t,e){if(void 0===Fe)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t),this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this._config=this._getConfig(e),this.tip=null,this._setListeners()}static get Default(){return tn}static get NAME(){return Qi}static get Event(){return en}static get DefaultType(){return Zi}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(t){if(this._isEnabled)if(t){const e=this._initializeOnDelegatedTarget(t);e._activeTrigger.click=!e._activeTrigger.click,e._isWithActiveTrigger()?e._enter(null,e):e._leave(null,e)}else{if(this.getTipElement().classList.contains(sn))return void this._leave(null,this);this._enter(null,this)}}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ln),cn,this._hideModalHandler),this.tip&&this.tip.remove(),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this.isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.Event.SHOW),e=h(this._element),i=null===e?this._element.ownerDocument.documentElement.contains(this._element):e.contains(this._element);if(t.defaultPrevented||!i)return;"tooltip"===this.constructor.NAME&&this.tip&&this.getTitle()!==this.tip.querySelector(an).innerHTML&&(this._disposePopper(),this.tip.remove(),this.tip=null);const n=this.getTipElement(),s=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME);n.setAttribute("id",s),this._element.setAttribute("aria-describedby",s),this._config.animation&&n.classList.add(nn);const o="function"==typeof this._config.placement?this._config.placement.call(this,n,this._element):this._config.placement,r=this._getAttachment(o);this._addAttachmentClass(r);const{container:a}=this._config;H.set(n,this.constructor.DATA_KEY,this),this._element.ownerDocument.documentElement.contains(this.tip)||(a.append(n),j.trigger(this._element,this.constructor.Event.INSERTED)),this._popper?this._popper.update():this._popper=qe(this._element,n,this._getPopperConfig(r)),n.classList.add(sn);const l=this._resolvePossibleFunction(this._config.customClass);l&&n.classList.add(...l.split(" ")),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>{j.on(t,"mouseover",d)}));const c=this.tip.classList.contains(nn);this._queueCallback((()=>{const t=this._hoverState;this._hoverState=null,j.trigger(this._element,this.constructor.Event.SHOWN),t===rn&&this._leave(null,this)}),this.tip,c)}hide(){if(!this._popper)return;const t=this.getTipElement();if(j.trigger(this._element,this.constructor.Event.HIDE).defaultPrevented)return;t.classList.remove(sn),"ontouchstart"in document.documentElement&&[].concat(...document.body.children).forEach((t=>j.off(t,"mouseover",d))),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1;const e=this.tip.classList.contains(nn);this._queueCallback((()=>{this._isWithActiveTrigger()||(this._hoverState!==on&&t.remove(),this._cleanTipClass(),this._element.removeAttribute("aria-describedby"),j.trigger(this._element,this.constructor.Event.HIDDEN),this._disposePopper())}),this.tip,e),this._hoverState=""}update(){null!==this._popper&&this._popper.update()}isWithContent(){return Boolean(this.getTitle())}getTipElement(){if(this.tip)return this.tip;const t=document.createElement("div");t.innerHTML=this._config.template;const e=t.children[0];return this.setContent(e),e.classList.remove(nn,sn),this.tip=e,this.tip}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),an)}_sanitizeAndSetContent(t,e,i){const n=V.findOne(i,t);e||!n?this.setElementContent(n,e):n.remove()}setElementContent(t,e){if(null!==t)return o(e)?(e=r(e),void(this._config.html?e.parentNode!==t&&(t.innerHTML="",t.append(e)):t.textContent=e.textContent)):void(this._config.html?(this._config.sanitize&&(e=Yi(e,this._config.allowList,this._config.sanitizeFn)),t.innerHTML=e):t.textContent=e)}getTitle(){const t=this._element.getAttribute("data-bs-original-title")||this._config.title;return this._resolvePossibleFunction(t)}updateAttachment(t){return"right"===t?"end":"left"===t?"start":t}_initializeOnDelegatedTarget(t,e){return e||this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return"function"==typeof t?t.call(this._element):t}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"onChange",enabled:!0,phase:"afterWrite",fn:t=>this._handlePopperPlacementChange(t)}],onFirstUpdate:t=>{t.options.placement!==t.placement&&this._handlePopperPlacementChange(t)}};return{...e,..."function"==typeof this._config.popperConfig?this._config.popperConfig(e):this._config.popperConfig}}_addAttachmentClass(t){this.getTipElement().classList.add(`${this._getBasicClassPrefix()}-${this.updateAttachment(t)}`)}_getAttachment(t){return Ji[t.toUpperCase()]}_setListeners(){this._config.trigger.split(" ").forEach((t=>{if("click"===t)j.on(this._element,this.constructor.Event.CLICK,this._config.selector,(t=>this.toggle(t)));else if("manual"!==t){const e=t===hn?this.constructor.Event.MOUSEENTER:this.constructor.Event.FOCUSIN,i=t===hn?this.constructor.Event.MOUSELEAVE:this.constructor.Event.FOCUSOUT;j.on(this._element,e,this._config.selector,(t=>this._enter(t))),j.on(this._element,i,this._config.selector,(t=>this._leave(t)))}})),this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ln),cn,this._hideModalHandler),this._config.selector?this._config={...this._config,trigger:"manual",selector:""}:this._fixTitle()}_fixTitle(){const t=this._element.getAttribute("title"),e=typeof this._element.getAttribute("data-bs-original-title");(t||"string"!==e)&&(this._element.setAttribute("data-bs-original-title",t||""),!t||this._element.getAttribute("aria-label")||this._element.textContent||this._element.setAttribute("aria-label",t),this._element.setAttribute("title",""))}_enter(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusin"===t.type?dn:hn]=!0),e.getTipElement().classList.contains(sn)||e._hoverState===on?e._hoverState=on:(clearTimeout(e._timeout),e._hoverState=on,e._config.delay&&e._config.delay.show?e._timeout=setTimeout((()=>{e._hoverState===on&&e.show()}),e._config.delay.show):e.show())}_leave(t,e){e=this._initializeOnDelegatedTarget(t,e),t&&(e._activeTrigger["focusout"===t.type?dn:hn]=e._element.contains(t.relatedTarget)),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState=rn,e._config.delay&&e._config.delay.hide?e._timeout=setTimeout((()=>{e._hoverState===rn&&e.hide()}),e._config.delay.hide):e.hide())}_isWithActiveTrigger(){for(const t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1}_getConfig(t){const e=U.getDataAttributes(this._element);return Object.keys(e).forEach((t=>{Gi.has(t)&&delete e[t]})),(t={...this.constructor.Default,...e,..."object"==typeof t&&t?t:{}}).container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),a(Qi,t,this.constructor.DefaultType),t.sanitize&&(t.template=Yi(t.template,t.allowList,t.sanitizeFn)),t}_getDelegateConfig(){const t={};for(const e in this._config)this.constructor.Default[e]!==this._config[e]&&(t[e]=this._config[e]);return t}_cleanTipClass(){const t=this.getTipElement(),e=new RegExp(`(^|\\s)${this._getBasicClassPrefix()}\\S+`,"g"),i=t.getAttribute("class").match(e);null!==i&&i.length>0&&i.map((t=>t.trim())).forEach((e=>t.classList.remove(e)))}_getBasicClassPrefix(){return"bs-tooltip"}_handlePopperPlacementChange(t){const{state:e}=t;e&&(this.tip=e.elements.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(e.placement)))}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null)}static jQueryInterface(t){return this.each((function(){const e=un.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(un);const fn={...un.Default,placement:"right",offset:[0,8],trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'},pn={...un.DefaultType,content:"(string|element|function)"},mn={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"};class gn extends un{static get Default(){return fn}static get NAME(){return"popover"}static get Event(){return mn}static get DefaultType(){return pn}isWithContent(){return this.getTitle()||this._getContent()}setContent(t){this._sanitizeAndSetContent(t,this.getTitle(),".popover-header"),this._sanitizeAndSetContent(t,this._getContent(),".popover-body")}_getContent(){return this._resolvePossibleFunction(this._config.content)}_getBasicClassPrefix(){return"bs-popover"}static jQueryInterface(t){return this.each((function(){const e=gn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}g(gn);const _n="scrollspy",bn={offset:10,method:"auto",target:""},vn={offset:"number",method:"string",target:"(string|element)"},yn="active",wn=".nav-link, .list-group-item, .dropdown-item",En="position";class An extends B{constructor(t,e){super(t),this._scrollElement="BODY"===this._element.tagName?window:this._element,this._config=this._getConfig(e),this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,j.on(this._scrollElement,"scroll.bs.scrollspy",(()=>this._process())),this.refresh(),this._process()}static get Default(){return bn}static get NAME(){return _n}refresh(){const t=this._scrollElement===this._scrollElement.window?"offset":En,e="auto"===this._config.method?t:this._config.method,n=e===En?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),V.find(wn,this._config.target).map((t=>{const s=i(t),o=s?V.findOne(s):null;if(o){const t=o.getBoundingClientRect();if(t.width||t.height)return[U[e](o).top+n,s]}return null})).filter((t=>t)).sort(((t,e)=>t[0]-e[0])).forEach((t=>{this._offsets.push(t[0]),this._targets.push(t[1])}))}dispose(){j.off(this._scrollElement,".bs.scrollspy"),super.dispose()}_getConfig(t){return(t={...bn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}}).target=r(t.target)||document.documentElement,a(_n,t,vn),t}_getScrollTop(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop}_getScrollHeight(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)}_getOffsetHeight(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height}_process(){const t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),i=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=i){const t=this._targets[this._targets.length-1];this._activeTarget!==t&&this._activate(t)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(let e=this._offsets.length;e--;)this._activeTarget!==this._targets[e]&&t>=this._offsets[e]&&(void 0===this._offsets[e+1]||t<this._offsets[e+1])&&this._activate(this._targets[e])}}_activate(t){this._activeTarget=t,this._clear();const e=wn.split(",").map((e=>`${e}[data-bs-target="${t}"],${e}[href="${t}"]`)),i=V.findOne(e.join(","),this._config.target);i.classList.add(yn),i.classList.contains("dropdown-item")?V.findOne(".dropdown-toggle",i.closest(".dropdown")).classList.add(yn):V.parents(i,".nav, .list-group").forEach((t=>{V.prev(t,".nav-link, .list-group-item").forEach((t=>t.classList.add(yn))),V.prev(t,".nav-item").forEach((t=>{V.children(t,".nav-link").forEach((t=>t.classList.add(yn)))}))})),j.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})}_clear(){V.find(wn,this._config.target).filter((t=>t.classList.contains(yn))).forEach((t=>t.classList.remove(yn)))}static jQueryInterface(t){return this.each((function(){const e=An.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(window,"load.bs.scrollspy.data-api",(()=>{V.find('[data-bs-spy="scroll"]').forEach((t=>new An(t)))})),g(An);const Tn="active",On="fade",Cn="show",kn=".active",Ln=":scope > li > .active";class xn extends B{static get NAME(){return"tab"}show(){if(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&this._element.classList.contains(Tn))return;let t;const e=n(this._element),i=this._element.closest(".nav, .list-group");if(i){const e="UL"===i.nodeName||"OL"===i.nodeName?Ln:kn;t=V.find(e,i),t=t[t.length-1]}const s=t?j.trigger(t,"hide.bs.tab",{relatedTarget:this._element}):null;if(j.trigger(this._element,"show.bs.tab",{relatedTarget:t}).defaultPrevented||null!==s&&s.defaultPrevented)return;this._activate(this._element,i);const o=()=>{j.trigger(t,"hidden.bs.tab",{relatedTarget:this._element}),j.trigger(this._element,"shown.bs.tab",{relatedTarget:t})};e?this._activate(e,e.parentNode,o):o()}_activate(t,e,i){const n=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?V.children(e,kn):V.find(Ln,e))[0],s=i&&n&&n.classList.contains(On),o=()=>this._transitionComplete(t,n,i);n&&s?(n.classList.remove(Cn),this._queueCallback(o,t,!0)):o()}_transitionComplete(t,e,i){if(e){e.classList.remove(Tn);const t=V.findOne(":scope > .dropdown-menu .active",e.parentNode);t&&t.classList.remove(Tn),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}t.classList.add(Tn),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),u(t),t.classList.contains(On)&&t.classList.add(Cn);let n=t.parentNode;if(n&&"LI"===n.nodeName&&(n=n.parentNode),n&&n.classList.contains("dropdown-menu")){const e=t.closest(".dropdown");e&&V.find(".dropdown-toggle",e).forEach((t=>t.classList.add(Tn))),t.setAttribute("aria-expanded",!0)}i&&i()}static jQueryInterface(t){return this.each((function(){const e=xn.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}j.on(document,"click.bs.tab.data-api",'[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),c(this)||xn.getOrCreateInstance(this).show()})),g(xn);const Dn="toast",Sn="hide",Nn="show",In="showing",Pn={animation:"boolean",autohide:"boolean",delay:"number"},jn={animation:!0,autohide:!0,delay:5e3};class Mn extends B{constructor(t,e){super(t),this._config=this._getConfig(e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get DefaultType(){return Pn}static get Default(){return jn}static get NAME(){return Dn}show(){j.trigger(this._element,"show.bs.toast").defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(Sn),u(this._element),this._element.classList.add(Nn),this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.remove(In),j.trigger(this._element,"shown.bs.toast"),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this._element.classList.contains(Nn)&&(j.trigger(this._element,"hide.bs.toast").defaultPrevented||(this._element.classList.add(In),this._queueCallback((()=>{this._element.classList.add(Sn),this._element.classList.remove(In),this._element.classList.remove(Nn),j.trigger(this._element,"hidden.bs.toast")}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this._element.classList.contains(Nn)&&this._element.classList.remove(Nn),super.dispose()}_getConfig(t){return t={...jn,...U.getDataAttributes(this._element),..."object"==typeof t&&t?t:{}},a(Dn,t,this.constructor.DefaultType),t}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,"mouseover.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"mouseout.bs.toast",(t=>this._onInteraction(t,!1))),j.on(this._element,"focusin.bs.toast",(t=>this._onInteraction(t,!0))),j.on(this._element,"focusout.bs.toast",(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Mn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(Mn),g(Mn),{Alert:W,Button:z,Carousel:st,Collapse:pt,Dropdown:hi,Modal:Hi,Offcanvas:Fi,Popover:gn,ScrollSpy:An,Tab:xn,Toast:Mn,Tooltip:un}}));
          //# sourceMappingURL=bootstrap.bundle.min.js.map
          Evidence
          select
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

    4. http://localhost:3000 (2)

      1. Information Disclosure - Suspicious Comments (2)
        1. GET http://localhost:3000/main.488cd5f42661da5d.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bDB\b and was detected in the element starting with: ""use strict";var $3=Object.defineProperty,z3=Object.defineProperties,W3=Object.getOwnPropertyDescriptors,wE=Object.getOwnPropert", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (354 bytes)
          GET http://localhost:3000/main.488cd5f42661da5d.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (334 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"75802-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 481283
          Date: Mon, 10 Jan 2022 02:28:26 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (481283 bytes)
          "use strict";var $3=Object.defineProperty,z3=Object.defineProperties,W3=Object.getOwnPropertyDescriptors,wE=Object.getOwnPropertySymbols,G3=Object.prototype.hasOwnProperty,q3=Object.prototype.propertyIsEnumerable,xE=(V,nt,yt)=>nt in V?$3(V,nt,{enumerable:!0,configurable:!0,writable:!0,value:yt}):V[nt]=yt,Gp=(V,nt)=>{for(var yt in nt||(nt={}))G3.call(nt,yt)&&xE(V,yt,nt[yt]);if(wE)for(var yt of wE(nt))q3.call(nt,yt)&&xE(V,yt,nt[yt]);return V},qp=(V,nt)=>z3(V,W3(nt));(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[179],{328:()=>{function V(n){return"function"==typeof n}function nt(n){const t=n(i=>{Error.call(i),i.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}const yt=nt(n=>function(t){n(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((i,r)=>`${r+1}) ${i.toString()}`).join("\n  ")}`:"",this.name="UnsubscriptionError",this.errors=t});function _r(n,e){if(n){const t=n.indexOf(e);0<=t&&n.splice(t,1)}}class Rt{constructor(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._teardowns=null}unsubscribe(){let e;if(!this.closed){this.closed=!0;const{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(const s of t)s.remove(this);else t.remove(this);const{initialTeardown:i}=this;if(V(i))try{i()}catch(s){e=s instanceof yt?s.errors:[s]}const{_teardowns:r}=this;if(r){this._teardowns=null;for(const s of r)try{Jp(s)}catch(o){e=null!=e?e:[],o instanceof yt?e=[...e,...o.errors]:e.push(o)}}if(e)throw new yt(e)}}add(e){var t;if(e&&e!==this)if(this.closed)Jp(e);else{if(e instanceof Rt){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._teardowns=null!==(t=this._teardowns)&&void 0!==t?t:[]).push(e)}}_hasParent(e){const{_parentage:t}=this;return t===e||Array.isArray(t)&&t.includes(e)}_addParent(e){const{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e}_removeParent(e){const{_parentage:t}=this;t===e?this._parentage=null:Array.isArray(t)&&_r(t,e)}remove(e){const{_teardowns:t}=this;t&&_r(t,e),e instanceof Rt&&e._removeParent(this)}}Rt.EMPTY=(()=>{const n=new Rt;return n.closed=!0,n})();const Yp=Rt.EMPTY;function Kp(n){return n instanceof Rt||n&&"closed"in n&&V(n.remove)&&V(n.add)&&V(n.unsubscribe)}function Jp(n){V(n)?n():n.unsubscribe()}const Hi={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},wa={setTimeout(...n){const{delegate:e}=wa;return((null==e?void 0:e.setTimeout)||setTimeout)(...n)},clearTimeout(n){const{delegate:e}=wa;return((null==e?void 0:e.clearTimeout)||clearTimeout)(n)},delegate:void 0};function Zp(n){wa.setTimeout(()=>{const{onUnhandledError:e}=Hi;if(!e)throw n;e(n)})}function vr(){}const EE=nu("C",void 0,void 0);function nu(n,e,t){return{kind:n,value:e,error:t}}let Ui=null;function xa(n){if(Hi.useDeprecatedSynchronousErrorHandling){const e=!Ui;if(e&&(Ui={errorThrown:!1,error:null}),n(),e){const{errorThrown:t,error:i}=Ui;if(Ui=null,t)throw i}}else n()}class iu extends Rt{constructor(e){super(),this.isStopped=!1,e?(this.destination=e,Kp(e)&&e.add(this)):this.destination=IE}static create(e,t,i){return new ru(e,t,i)}next(e){this.isStopped?ou(nu("N",e,void 0),this):this._next(e)}error(e){this.isStopped?ou(nu("E",void 0,e),this):(this.isStopped=!0,this._error(e))}complete(){this.isStopped?ou(EE,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(e){this.destination.next(e)}_error(e){try{this.destination.error(e)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}class ru extends iu{constructor(e,t,i){let r;if(super(),V(e))r=e;else if(e){let s;({next:r,error:t,complete:i}=e),this&&Hi.useDeprecatedNextContext?(s=Object.create(e),s.unsubscribe=()=>this.unsubscribe()):s=e,r=null==r?void 0:r.bind(s),t=null==t?void 0:t.bind(s),i=null==i?void 0:i.bind(s)}this.destination={next:r?su(r):vr,error:su(null!=t?t:Xp),complete:i?su(i):vr}}}function su(n,e){return(...t)=>{try{n(...t)}catch(i){Hi.useDeprecatedSynchronousErrorHandling?function(n){Hi.useDeprecatedSynchronousErrorHandling&&Ui&&(Ui.errorThrown=!0,Ui.error=n)}(i):Zp(i)}}}function Xp(n){throw n}function ou(n,e){const{onStoppedNotification:t}=Hi;t&&wa.setTimeout(()=>t(n,e))}const IE={closed:!0,next:vr,error:Xp,complete:vr},au="function"==typeof Symbol&&Symbol.observable||"@@observable";function vi(n){return n}let fe=(()=>{class n{constructor(t){t&&(this._subscribe=t)}lift(t){const i=new n;return i.source=this,i.operator=t,i}subscribe(t,i,r){const s=function(n){return n&&n instanceof iu||function(n){return n&&V(n.next)&&V(n.error)&&V(n.complete)}(n)&&Kp(n)}(t)?t:new ru(t,i,r);return xa(()=>{const{operator:o,source:a}=this;s.add(o?o.call(s,a):a?this._subscribe(s):this._trySubscribe(s))}),s}_trySubscribe(t){try{return this._subscribe(t)}catch(i){t.error(i)}}forEach(t,i){return new(i=eg(i))((r,s)=>{let o;o=this.subscribe(a=>{try{t(a)}catch(l){s(l),null==o||o.unsubscribe()}},s,r)})}_subscribe(t){var i;return null===(i=this.source)||void 0===i?void 0:i.subscribe(t)}[au](){return this}pipe(...t){return function(n){return 0===n.length?vi:1===n.length?n[0]:function(t){return n.reduce((i,r)=>r(i),t)}}(t)(this)}toPromise(t){return new(t=eg(t))((i,r)=>{let s;this.subscribe(o=>s=o,o=>r(o),()=>i(s))})}}return n.create=e=>new n(e),n})();function eg(n){var e;return null!==(e=null!=n?n:Hi.Promise)&&void 0!==e?e:Promise}const PE=nt(n=>function(){n(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Jt=(()=>{class n extends fe{constructor(){super(),this.closed=!1,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){const i=new tg(this,this);return i.operator=t,i}_throwIfClosed(){if(this.closed)throw new PE}next(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){const i=this.observers.slice();for(const r of i)r.next(t)}})}error(t){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;const{observers:i}=this;for(;i.length;)i.shift().error(t)}})}complete(){xa(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=null}get observed(){var t;return(null===(t=this.observers)||void 0===t?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){const{hasError:i,isStopped:r,observers:s}=this;return i||r?Yp:(s.push(t),new Rt(()=>_r(s,t)))}_checkFinalizedStatuses(t){const{hasError:i,thrownError:r,isStopped:s}=this;i?t.error(r):s&&t.complete()}asObservable(){const t=new fe;return t.source=this,t}}return n.create=(e,t)=>new tg(e,t),n})();class tg extends Jt{constructor(e,t){super(),this.destination=e,this.source=t}next(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===i||i.call(t,e)}error(e){var t,i;null===(i=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===i||i.call(t,e)}complete(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)}_subscribe(e){var t,i;return null!==(i=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==i?i:Yp}}function ng(n){return V(null==n?void 0:n.lift)}function je(n){return e=>{if(ng(e))return e.lift(function(t){try{return n(t,this)}catch(i){this.error(i)}});throw new TypeError("Unable to lift unknown Observable type")}}class Ne extends iu{constructor(e,t,i,r,s){super(e),this.onFinalize=s,this._next=t?function(o){try{t(o)}catch(a){e.error(a)}}:super._next,this._error=r?function(o){try{r(o)}catch(a){e.error(a)}finally{this.unsubscribe()}}:super._error,this._complete=i?function(){try{i()}catch(o){e.error(o)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var e;const{closed:t}=this;super.unsubscribe(),!t&&(null===(e=this.onFinalize)||void 0===e||e.call(this))}}function Z(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>{i.next(n.call(e,s,r++))}))})}function $i(n){return this instanceof $i?(this.v=n,this):new $i(n)}function FE(n,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=t.apply(n,e||[]),s=[];return r={},o("next"),o("throw"),o("return"),r[Symbol.asyncIterator]=function(){return this},r;function o(h){i[h]&&(r[h]=function(f){return new Promise(function(p,g){s.push([h,f,p,g])>1||a(h,f)})})}function a(h,f){try{!function(h){h.value instanceof $i?Promise.resolve(h.value.v).then(c,u):d(s[0][2],h)}(i[h](f))}catch(p){d(s[0][3],p)}}function c(h){a("next",h)}function u(h){a("throw",h)}function d(h,f){h(f),s.shift(),s.length&&a(s[0][0],s[0][1])}}function NE(n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,e=n[Symbol.asyncIterator];return e?e.call(n):(n=function(n){var e="function"==typeof Symbol&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&"number"==typeof n.length)return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}(n),t={},i("next"),i("throw"),i("return"),t[Symbol.asyncIterator]=function(){return this},t);function i(s){t[s]=n[s]&&function(o){return new Promise(function(a,l){!function(s,o,a,l){Promise.resolve(l).then(function(c){s({value:c,done:a})},o)}(a,l,(o=n[s](o)).done,o.value)})}}}const cu=n=>n&&"number"==typeof n.length&&"function"!=typeof n;function og(n){return V(null==n?void 0:n.then)}function ag(n){return V(n[au])}function lg(n){return Symbol.asyncIterator&&V(null==n?void 0:n[Symbol.asyncIterator])}function cg(n){return new TypeError(`You provided ${null!==n&&"object"==typeof n?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const ug="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function dg(n){return V(null==n?void 0:n[ug])}function hg(n){return FE(this,arguments,function*(){const t=n.getReader();try{for(;;){const{value:i,done:r}=yield $i(t.read());if(r)return yield $i(void 0);yield yield $i(i)}}finally{t.releaseLock()}})}function fg(n){return V(null==n?void 0:n.getReader)}function Zt(n){if(n instanceof fe)return n;if(null!=n){if(ag(n))return function(n){return new fe(e=>{const t=n[au]();if(V(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(n);if(cu(n))return function(n){return new fe(e=>{for(let t=0;t<n.length&&!e.closed;t++)e.next(n[t]);e.complete()})}(n);if(og(n))return function(n){return new fe(e=>{n.then(t=>{e.closed||(e.next(t),e.complete())},t=>e.error(t)).then(null,Zp)})}(n);if(lg(n))return pg(n);if(dg(n))return function(n){return new fe(e=>{for(const t of n)if(e.next(t),e.closed)return;e.complete()})}(n);if(fg(n))return function(n){return pg(hg(n))}(n)}throw cg(n)}function pg(n){return new fe(e=>{(function(n,e){var t,i,r,s;return function(n,e,t,i){return new(t||(t=Promise))(function(s,o){function a(u){try{c(i.next(u))}catch(d){o(d)}}function l(u){try{c(i.throw(u))}catch(d){o(d)}}function c(u){u.done?s(u.value):function(s){return s instanceof t?s:new t(function(o){o(s)})}(u.value).then(a,l)}c((i=i.apply(n,e||[])).next())})}(this,void 0,void 0,function*(){try{for(t=NE(n);!(i=yield t.next()).done;)if(e.next(i.value),e.closed)return}catch(o){r={error:o}}finally{try{i&&!i.done&&(s=t.return)&&(yield s.call(t))}finally{if(r)throw r.error}}e.complete()})})(n,e).catch(t=>e.error(t))})}function Zn(n,e,t,i=0,r=!1){const s=e.schedule(function(){t(),r?n.add(this.schedule(null,i)):this.unsubscribe()},i);if(n.add(s),!r)return s}function He(n,e,t=1/0){return V(e)?He((i,r)=>Z((s,o)=>e(i,s,r,o))(Zt(n(i,r))),t):("number"==typeof e&&(t=e),je((i,r)=>function(n,e,t,i,r,s,o,a){const l=[];let c=0,u=0,d=!1;const h=()=>{d&&!l.length&&!c&&e.complete()},f=g=>c<i?p(g):l.push(g),p=g=>{c++;let _=!1;Zt(t(g,u++)).subscribe(new Ne(e,v=>{e.next(v)},()=>{_=!0},void 0,()=>{if(_)try{for(c--;l.length&&c<i;){const v=l.shift();p(v)}h()}catch(v){e.error(v)}}))};return n.subscribe(new Ne(e,f,()=>{d=!0,h()})),()=>{}}(i,r,n,t)))}function Os(n=1/0){return He(vi,n)}const Xn=new fe(n=>n.complete());function gg(n){return n&&V(n.schedule)}function uu(n){return n[n.length-1]}function mg(n){return V(uu(n))?n.pop():void 0}function Ps(n){return gg(uu(n))?n.pop():void 0}function yg(n,e=0){return je((t,i)=>{t.subscribe(new Ne(i,r=>Zn(i,n,()=>i.next(r),e),()=>Zn(i,n,()=>i.complete(),e),r=>Zn(i,n,()=>i.error(r),e)))})}function _g(n,e=0){return je((t,i)=>{i.add(n.schedule(()=>t.subscribe(i),e))})}function vg(n,e){if(!n)throw new Error("Iterable cannot be null");return new fe(t=>{Zn(t,e,()=>{const i=n[Symbol.asyncIterator]();Zn(t,e,()=>{i.next().then(r=>{r.done?t.complete():t.next(r.value)})},0,!0)})})}function Ye(n,e){return e?function(n,e){if(null!=n){if(ag(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(cu(n))return function(n,e){return new fe(t=>{let i=0;return e.schedule(function(){i===n.length?t.complete():(t.next(n[i++]),t.closed||this.schedule())})})}(n,e);if(og(n))return function(n,e){return Zt(n).pipe(_g(e),yg(e))}(n,e);if(lg(n))return vg(n,e);if(dg(n))return function(n,e){return new fe(t=>{let i;return Zn(t,e,()=>{i=n[ug](),Zn(t,e,()=>{let r,s;try{({value:r,done:s}=i.next())}catch(o){return void t.error(o)}s?t.complete():t.next(r)},0,!0)}),()=>V(null==i?void 0:i.return)&&i.return()})}(n,e);if(fg(n))return function(n,e){return vg(hg(n),e)}(n,e)}throw cg(n)}(n,e):Zt(n)}function Ea(...n){const e=Ps(n),t=function(n,e){return"number"==typeof uu(n)?n.pop():1/0}(n),i=n;return i.length?1===i.length?Zt(i[0]):Os(t)(Ye(i,e)):Xn}function Xt(n){return n<=0?()=>Xn:je((e,t)=>{let i=0;e.subscribe(new Ne(t,r=>{++i<=n&&(t.next(r),n<=i&&t.complete())}))})}function du(n,e,...t){return!0===e?(n(),null):!1===e?null:e(...t).pipe(Xt(1)).subscribe(()=>n())}function me(n){for(let e in n)if(n[e]===me)return e;throw Error("Could not find renamed property on target object.")}function hu(n,e){for(const t in e)e.hasOwnProperty(t)&&!n.hasOwnProperty(t)&&(n[t]=e[t])}function le(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(le).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const e=n.toString();if(null==e)return""+e;const t=e.indexOf("\n");return-1===t?e:e.substring(0,t)}function fu(n,e){return null==n||""===n?null===e?"":e:null==e||""===e?n:n+" "+e}const tM=me({__forward_ref__:me});function ve(n){return n.__forward_ref__=ve,n.toString=function(){return le(this())},n}function W(n){return bg(n)?n():n}function bg(n){return"function"==typeof n&&n.hasOwnProperty(tM)&&n.__forward_ref__===ve}class Ft extends Error{constructor(e,t){super(function(n,e){return`${n?`NG0${n}: `:""}${e}`}(e,t)),this.code=e}}function H(n){return"string"==typeof n?n:null==n?"":String(n)}function _t(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():H(n)}function Ma(n,e){const t=e?` in ${e}`:"";throw new Ft("201",`No provider for ${_t(n)} found${t}`)}function Lt(n,e){null==n&&function(n,e,t,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${t} ${i} ${e} <=Actual]`))}(e,n,null,"!=")}function B(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function vt(n){return{providers:n.providers||[],imports:n.imports||[]}}function gu(n){return Cg(n,Sa)||Cg(n,wg)}function Cg(n,e){return n.hasOwnProperty(e)?n[e]:null}function Dg(n){return n&&(n.hasOwnProperty(mu)||n.hasOwnProperty(lM))?n[mu]:null}const Sa=me({\u0275prov:me}),mu=me({\u0275inj:me}),wg=me({ngInjectableDef:me}),lM=me({ngInjectorDef:me});var $=(()=>(($=$||{})[$.Default=0]="Default",$[$.Host=1]="Host",$[$.Self=2]="Self",$[$.SkipSelf=4]="SkipSelf",$[$.Optional=8]="Optional",$))();let yu;function bi(n){const e=yu;return yu=n,e}function xg(n,e,t){const i=gu(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:t&$.Optional?null:void 0!==e?e:void Ma(le(n),"Injector")}function Ci(n){return{toString:n}.toString()}var fn=(()=>((fn=fn||{})[fn.OnPush=0]="OnPush",fn[fn.Default=1]="Default",fn))(),Tn=(()=>{return(n=Tn||(Tn={}))[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom",Tn;var n})();const uM="undefined"!=typeof globalThis&&globalThis,dM="undefined"!=typeof window&&window,hM="undefined"!=typeof self&&"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&self,ge=uM||"undefined"!=typeof global&&global||dM||hM,br={},ye=[],Aa=me({\u0275cmp:me}),_u=me({\u0275dir:me}),vu=me({\u0275pipe:me}),Eg=me({\u0275mod:me}),ei=me({\u0275fac:me}),ks=me({__NG_ELEMENT_ID__:me});let fM=0;function On(n){return Ci(()=>{const t={},i={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:t,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===fn.OnPush,directiveDefs:null,pipeDefs:null,selectors:n.selectors||ye,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Tn.Emulated,id:"c",styles:n.styles||ye,_:null,setInput:null,schemas:n.schemas||null,tView:null},r=n.directives,s=n.features,o=n.pipes;return i.id+=fM++,i.inputs=Ig(n.inputs,t),i.outputs=Ig(n.outputs),s&&s.forEach(a=>a(i)),i.directiveDefs=r?()=>("function"==typeof r?r():r).map(Mg):null,i.pipeDefs=o?()=>("function"==typeof o?o():o).map(Sg):null,i})}function Mg(n){return lt(n)||function(n){return n[_u]||null}(n)}function Sg(n){return function(n){return n[vu]||null}(n)}const Ag={};function Mt(n){return Ci(()=>{const e={type:n.type,bootstrap:n.bootstrap||ye,declarations:n.declarations||ye,imports:n.imports||ye,exports:n.exports||ye,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null};return null!=n.id&&(Ag[n.id]=n.type),e})}function Ig(n,e){if(null==n)return br;const t={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],s=r;Array.isArray(r)&&(s=r[1],r=r[0]),t[r]=i,e&&(e[r]=s)}return t}const N=On;function lt(n){return n[Aa]||null}function Qt(n,e){const t=n[Eg]||null;if(!t&&!0===e)throw new Error(`Type ${le(n)} does not have '\u0275mod' property.`);return t}const G=11;function Pn(n){return Array.isArray(n)&&"object"==typeof n[1]}function gn(n){return Array.isArray(n)&&!0===n[1]}function Du(n){return 0!=(8&n.flags)}function Pa(n){return 2==(2&n.flags)}function ka(n){return 1==(1&n.flags)}function mn(n){return null!==n.template}function vM(n){return 0!=(512&n[2])}function Yi(n,e){return n.hasOwnProperty(ei)?n[ei]:null}class DM{constructor(e,t,i){this.previousValue=e,this.currentValue=t,this.firstChange=i}isFirstChange(){return this.firstChange}}function Bt(){return Og}function Og(n){return n.type.prototype.ngOnChanges&&(n.setInput=xM),wM}function wM(){const n=kg(this),e=null==n?void 0:n.current;if(e){const t=n.previous;if(t===br)n.previous=e;else for(let i in e)t[i]=e[i];n.current=null,this.ngOnChanges(e)}}function xM(n,e,t,i){const r=kg(n)||function(n,e){return n[Pg]=e}(n,{previous:br,current:null}),s=r.current||(r.current={}),o=r.previous,a=this.declaredInputs[t],l=o[a];s[a]=new DM(l&&l.currentValue,e,o===br),n[i]=e}Bt.ngInherit=!0;const Pg="__ngSimpleChanges__";function kg(n){return n[Pg]||null}let Eu;function Oe(n){return!!n.listen}const Ng={createRenderer:(n,e)=>void 0!==Eu?Eu:"undefined"!=typeof document?document:void 0};function Ue(n){for(;Array.isArray(n);)n=n[0];return n}function Ra(n,e){return Ue(e[n])}function nn(n,e){return Ue(e[n.index])}function Su(n,e){return n.data[e]}function jt(n,e){const t=e[n];return Pn(t)?t:t[0]}function Au(n){return 128==(128&n[2])}function wi(n,e){return null==e?null:n[e]}function Vg(n){n[18]=0}function Iu(n,e){n[5]+=e;let t=n,i=n[3];for(;null!==i&&(1===e&&1===t[5]||-1===e&&0===t[5]);)i[5]+=e,t=i,i=i[3]}const L={lFrame:Gg(null),bindingsEnabled:!0,isInCheckNoChangesMode:!1};function Bg(){return L.bindingsEnabled}function E(){return L.lFrame.lView}function ce(){return L.lFrame.tView}function Ke(){let n=jg();for(;null!==n&&64===n.type;)n=n.parent;return n}function jg(){return L.lFrame.currentTNode}function kn(n,e){const t=L.lFrame;t.currentTNode=n,t.isParent=e}function Tu(){return L.lFrame.isParent}function Fa(){return L.isInCheckNoChangesMode}function Na(n){L.isInCheckNoChangesMode=n}function Mr(){return L.lFrame.bindingIndex++}function jM(n,e){const t=L.lFrame;t.bindingIndex=t.bindingRootIndex=n,Pu(e)}function Pu(n){L.lFrame.currentDirectiveIndex=n}function Ru(n){L.lFrame.currentQueryIndex=n}function UM(n){const e=n[1];return 2===e.type?e.declTNode:1===e.type?n[6]:null}function zg(n,e,t){if(t&$.SkipSelf){let r=e,s=n;for(;!(r=r.parent,null!==r||t&$.Host||(r=UM(s),null===r||(s=s[15],10&r.type))););if(null===r)return!1;e=r,n=s}const i=L.lFrame=Wg();return i.currentTNode=e,i.lView=n,!0}function La(n){const e=Wg(),t=n[1];L.lFrame=e,e.currentTNode=t.firstChild,e.lView=n,e.tView=t,e.contextLView=n,e.bindingIndex=t.bindingStartIndex,e.inI18n=!1}function Wg(){const n=L.lFrame,e=null===n?null:n.child;return null===e?Gg(n):e}function Gg(n){const e={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:n,child:null,inI18n:!1};return null!==n&&(n.child=e),e}function qg(){const n=L.lFrame;return L.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Yg=qg;function Va(){const n=qg();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function Ct(){return L.lFrame.selectedIndex}function xi(n){L.lFrame.selectedIndex=n}function Pe(){const n=L.lFrame;return Su(n.tView,n.selectedIndex)}function Ba(n,e){for(let t=e.directiveStart,i=e.directiveEnd;t<i;t++){const s=n.data[t].type.prototype,{ngAfterContentInit:o,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:c,ngOnDestroy:u}=s;o&&(n.contentHooks||(n.contentHooks=[])).push(-t,o),a&&((n.contentHooks||(n.contentHooks=[])).push(t,a),(n.contentCheckHooks||(n.contentCheckHooks=[])).push(t,a)),l&&(n.viewHooks||(n.viewHooks=[])).push(-t,l),c&&((n.viewHooks||(n.viewHooks=[])).push(t,c),(n.viewCheckHooks||(n.viewCheckHooks=[])).push(t,c)),null!=u&&(n.destroyHooks||(n.destroyHooks=[])).push(t,u)}}function ja(n,e,t){Kg(n,e,3,t)}function Ha(n,e,t,i){(3&n[2])===t&&Kg(n,e,t,i)}function Fu(n,e){let t=n[2];(3&t)===e&&(t&=2047,t+=1,n[2]=t)}function Kg(n,e,t,i){const s=null!=i?i:-1,o=e.length-1;let a=0;for(let l=void 0!==i?65535&n[18]:0;l<o;l++)if("number"==typeof e[l+1]){if(a=e[l],null!=i&&a>=i)break}else e[l]<0&&(n[18]+=65536),(a<s||-1==s)&&(ZM(n,t,e,l),n[18]=(4294901760&n[18])+l+2),l++}function ZM(n,e,t,i){const r=t[i]<0,s=t[i+1],a=n[r?-t[i]:t[i]];if(r){if(n[2]>>11<n[18]>>16&&(3&n[2])===e){n[2]+=2048;try{s.call(a)}finally{}}}else try{s.call(a)}finally{}}class Vs{constructor(e,t,i){this.factory=e,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=i}}function Ua(n,e,t){const i=Oe(n);let r=0;for(;r<t.length;){const s=t[r];if("number"==typeof s){if(0!==s)break;r++;const o=t[r++],a=t[r++],l=t[r++];i?n.setAttribute(e,a,l,o):e.setAttributeNS(o,a,l)}else{const o=s,a=t[++r];Lu(o)?i&&n.setProperty(e,o,a):i?n.setAttribute(e,o,a):e.setAttribute(o,a),r++}}return r}function Jg(n){return 3===n||4===n||6===n}function Lu(n){return 64===n.charCodeAt(0)}function $a(n,e){if(null!==e&&0!==e.length)if(null===n||0===n.length)n=e.slice();else{let t=-1;for(let i=0;i<e.length;i++){const r=e[i];"number"==typeof r?t=r:0===t||Zg(n,t,r,null,-1===t||2===t?e[++i]:null)}}return n}function Zg(n,e,t,i,r){let s=0,o=n.length;if(-1===e)o=-1;else for(;s<n.length;){const a=n[s++];if("number"==typeof a){if(a===e){o=-1;break}if(a>e){o=s-1;break}}}for(;s<n.length;){const a=n[s];if("number"==typeof a)break;if(a===t){if(null===i)return void(null!==r&&(n[s+1]=r));if(i===n[s+1])return void(n[s+2]=r)}s++,null!==i&&s++,null!==r&&s++}-1!==o&&(n.splice(o,0,e),s=o+1),n.splice(s++,0,t),null!==i&&n.splice(s++,0,i),null!==r&&n.splice(s++,0,r)}function Xg(n){return-1!==n}function Sr(n){return 32767&n}function Ar(n,e){let t=function(n){return n>>16}(n),i=e;for(;t>0;)i=i[15],t--;return i}let Vu=!0;function za(n){const e=Vu;return Vu=n,e}let iS=0;function js(n,e){const t=ju(n,e);if(-1!==t)return t;const i=e[1];i.firstCreatePass&&(n.injectorIndex=e.length,Bu(i.data,n),Bu(e,null),Bu(i.blueprint,null));const r=Wa(n,e),s=n.injectorIndex;if(Xg(r)){const o=Sr(r),a=Ar(r,e),l=a[1].data;for(let c=0;c<8;c++)e[s+c]=a[o+c]|l[o+c]}return e[s+8]=r,s}function Bu(n,e){n.push(0,0,0,0,0,0,0,0,e)}function ju(n,e){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===e[n.injectorIndex+8]?-1:n.injectorIndex}function Wa(n,e){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let t=0,i=null,r=e;for(;null!==r;){const s=r[1],o=s.type;if(i=2===o?s.declTNode:1===o?r[6]:null,null===i)return-1;if(t++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|t<<16}return-1}function Ga(n,e,t){!function(n,e,t){let i;"string"==typeof t?i=t.charCodeAt(0)||0:t.hasOwnProperty(ks)&&(i=t[ks]),null==i&&(i=t[ks]=iS++);const r=255&i;e.data[n+(r>>5)]|=1<<r}(n,e,t)}function tm(n,e,t){if(t&$.Optional)return n;Ma(e,"NodeInjector")}function nm(n,e,t,i){if(t&$.Optional&&void 0===i&&(i=null),0==(t&($.Self|$.Host))){const r=n[9],s=bi(void 0);try{return r?r.get(e,i,t&$.Optional):xg(e,i,t&$.Optional)}finally{bi(s)}}return tm(i,e,t)}function im(n,e,t,i=$.Default,r){if(null!==n){const s=function(n){if("string"==typeof n)return n.charCodeAt(0)||0;const e=n.hasOwnProperty(ks)?n[ks]:void 0;return"number"==typeof e?e>=0?255&e:oS:e}(t);if("function"==typeof s){if(!zg(e,n,i))return i&$.Host?tm(r,t,i):nm(e,t,i,r);try{const o=s(i);if(null!=o||i&$.Optional)return o;Ma(t)}finally{Yg()}}else if("number"==typeof s){let o=null,a=ju(n,e),l=-1,c=i&$.Host?e[16][6]:null;for((-1===a||i&$.SkipSelf)&&(l=-1===a?Wa(n,e):e[a+8],-1!==l&&om(i,!1)?(o=e[1],a=Sr(l),e=Ar(l,e)):a=-1);-1!==a;){const u=e[1];if(sm(s,a,u.data)){const d=aS(a,e,t,o,i,c);if(d!==rm)return d}l=e[a+8],-1!==l&&om(i,e[1].data[a+8]===c)&&sm(s,a,e)?(o=u,a=Sr(l),e=Ar(l,e)):a=-1}}}return nm(e,t,i,r)}const rm={};function oS(){return new Ir(Ke(),E())}function aS(n,e,t,i,r,s){const o=e[1],a=o.data[n+8],u=function(n,e,t,i,r){const s=n.providerIndexes,o=e.data,a=1048575&s,l=n.directiveStart,u=s>>20,h=r?a+u:n.directiveEnd;for(let f=i?a:a+u;f<h;f++){const p=o[f];if(f<l&&t===p||f>=l&&p.type===t)return f}if(r){const f=o[l];if(f&&mn(f)&&f.type===t)return l}return null}(a,o,t,null==i?Pa(a)&&Vu:i!=o&&0!=(3&a.type),r&$.Host&&s===a);return null!==u?Hs(e,o,u,a):rm}function Hs(n,e,t,i){let r=n[t];const s=e.data;if(function(n){return n instanceof Vs}(r)){const o=r;o.resolving&&function(n,e){throw new Ft("200",`Circular dependency in DI detected for ${n}`)}(_t(s[t]));const a=za(o.canSeeViewProviders);o.resolving=!0;const l=o.injectImpl?bi(o.injectImpl):null;zg(n,i,$.Default);try{r=n[t]=o.factory(void 0,s,n,i),e.firstCreatePass&&t>=i.directiveStart&&function(n,e,t){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:s}=e.type.prototype;if(i){const o=Og(e);(t.preOrderHooks||(t.preOrderHooks=[])).push(n,o),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,o)}r&&(t.preOrderHooks||(t.preOrderHooks=[])).push(0-n,r),s&&((t.preOrderHooks||(t.preOrderHooks=[])).push(n,s),(t.preOrderCheckHooks||(t.preOrderCheckHooks=[])).push(n,s))}(t,s[t],e)}finally{null!==l&&bi(l),za(a),o.resolving=!1,Yg()}}return r}function sm(n,e,t){return!!(t[e+(n>>5)]&1<<n)}function om(n,e){return!(n&$.Self||n&$.Host&&e)}class Ir{constructor(e,t){this._tNode=e,this._lView=t}get(e,t,i){return im(this._tNode,this._lView,e,i,t)}}function Hu(n){return bg(n)?()=>{const e=Hu(W(n));return e&&e()}:Yi(n)}const Or="__parameters__";function kr(n,e,t){return Ci(()=>{const i=function(n){return function(...t){if(n){const i=n(...t);for(const r in i)this[r]=i[r]}}}(e);function r(...s){if(this instanceof r)return i.apply(this,s),this;const o=new r(...s);return a.annotation=o,a;function a(l,c,u){const d=l.hasOwnProperty(Or)?l[Or]:Object.defineProperty(l,Or,{value:[]})[Or];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(o),l}}return t&&(r.prototype=Object.create(t.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class z{constructor(e,t){this._desc=e,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof t?this.__NG_ELEMENT_ID__=t:void 0!==t&&(this.\u0275prov=B({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}toString(){return`InjectionToken ${this._desc}`}}const uS=new z("AnalyzeForEntryComponents");function Rn(n,e){n.forEach(t=>Array.isArray(t)?Rn(t,e):e(t))}function lm(n,e,t){e>=n.length?n.push(t):n.splice(e,0,t)}function Ya(n,e){return e>=n.length-1?n.pop():n.splice(e,1)[0]}function Ut(n,e,t){let i=Rr(n,e);return i>=0?n[1|i]=t:(i=~i,function(n,e,t,i){let r=n.length;if(r==e)n.push(t,i);else if(1===r)n.push(i,n[0]),n[0]=t;else{for(r--,n.push(n[r-1],n[r]);r>e;)n[r]=n[r-2],r--;n[e]=t,n[e+1]=i}}(n,i,e,t)),i}function zu(n,e){const t=Rr(n,e);if(t>=0)return n[1|t]}function Rr(n,e){return function(n,e,t){let i=0,r=n.length>>t;for(;r!==i;){const s=i+(r-i>>1),o=n[s<<t];if(e===o)return s<<t;o>e?r=s:i=s+1}return~(r<<t)}(n,e,1)}const Gs={},Gu="__NG_DI_FLAG__",Ja="ngTempTokenPath",bS=/\n/gm,fm="__source",DS=me({provide:String,useValue:me});let qs;function pm(n){const e=qs;return qs=n,e}function wS(n,e=$.Default){if(void 0===qs)throw new Error("inject() must be called from an injection context");return null===qs?xg(n,void 0,e):qs.get(n,e&$.Optional?null:void 0,e)}function P(n,e=$.Default){return(yu||wS)(W(n),e)}function qu(n){const e=[];for(let t=0;t<n.length;t++){const i=W(n[t]);if(Array.isArray(i)){if(0===i.length)throw new Error("Arguments array must have arguments.");let r,s=$.Default;for(let o=0;o<i.length;o++){const a=i[o],l=xS(a);"number"==typeof l?-1===l?r=a.token:s|=l:r=a}e.push(P(r,s))}else e.push(P(i))}return e}function Ys(n,e){return n[Gu]=e,n.prototype[Gu]=e,n}function xS(n){return n[Gu]}const Ks=Ys(kr("Inject",n=>({token:n})),-1),Fn=Ys(kr("Optional"),8),Fr=Ys(kr("SkipSelf"),4);const km="__ngContext__";function ut(n,e){n[km]=e}function id(n){const e=function(n){return n[km]||null}(n);return e?Array.isArray(e)?e:e.lView:null}function sd(n){return n.ngOriginalError}function yA(n,...e){n.error(...e)}class Vr{constructor(){this._console=console}handleError(e){const t=this._findOriginalError(e),i=(n=e)&&n.ngErrorLogger||yA;var n;i(this._console,"ERROR",e),t&&i(this._console,"ORIGINAL ERROR",t)}_findOriginalError(e){let t=e&&sd(e);for(;t&&sd(t);)t=sd(t);return t||null}}const Vm=(()=>("undefined"!=typeof requestAnimationFrame&&requestAnimationFrame||setTimeout).bind(ge))();function Ln(n){return n instanceof Function?n():n}var $t=(()=>(($t=$t||{})[$t.Important=1]="Important",$t[$t.DashCase=2]="DashCase",$t))();function ad(n,e){return undefined(n,e)}function to(n){const e=n[3];return gn(e)?e[3]:e}function ld(n){return $m(n[13])}function cd(n){return $m(n[4])}function $m(n){for(;null!==n&&!gn(n);)n=n[4];return n}function jr(n,e,t,i,r){if(null!=i){let s,o=!1;gn(i)?s=i:Pn(i)&&(o=!0,i=i[0]);const a=Ue(i);0===n&&null!==t?null==r?Km(e,t,a):Ki(e,t,a,r||null,!0):1===n&&null!==t?Ki(e,t,a,r||null,!0):2===n?function(n,e,t){const i=nl(n,e);i&&function(n,e,t,i){Oe(n)?n.removeChild(e,t,i):e.removeChild(t)}(n,i,e,t)}(e,a,o):3===n&&e.destroyNode(a),null!=s&&function(n,e,t,i,r){const s=t[7];s!==Ue(t)&&jr(e,n,i,s,r);for(let a=10;a<t.length;a++){const l=t[a];no(l[1],l,n,e,i,s)}}(e,n,s,t,r)}}function dd(n,e,t){return Oe(n)?n.createElement(e,t):null===t?n.createElement(e):n.createElementNS(t,e)}function Wm(n,e){const t=n[9],i=t.indexOf(e),r=e[3];1024&e[2]&&(e[2]&=-1025,Iu(r,-1)),t.splice(i,1)}function hd(n,e){if(n.length<=10)return;const t=10+e,i=n[t];if(i){const r=i[17];null!==r&&r!==n&&Wm(r,i),e>0&&(n[t-1][4]=i[4]);const s=Ya(n,10+e);!function(n,e){no(n,e,e[G],2,null,null),e[0]=null,e[6]=null}(i[1],i);const o=s[19];null!==o&&o.detachView(s[1]),i[3]=null,i[4]=null,i[2]&=-129}return i}function Gm(n,e){if(!(256&e[2])){const t=e[G];Oe(t)&&t.destroyNode&&no(n,e,t,3,null,null),function(n){let e=n[13];if(!e)return fd(n[1],n);for(;e;){let t=null;if(Pn(e))t=e[13];else{const i=e[10];i&&(t=i)}if(!t){for(;e&&!e[4]&&e!==n;)Pn(e)&&fd(e[1],e),e=e[3];null===e&&(e=n),Pn(e)&&fd(e[1],e),t=e&&e[4]}e=t}}(e)}}function fd(n,e){if(!(256&e[2])){e[2]&=-129,e[2]|=256,function(n,e){let t;if(null!=n&&null!=(t=n.destroyHooks))for(let i=0;i<t.length;i+=2){const r=e[t[i]];if(!(r instanceof Vs)){const s=t[i+1];if(Array.isArray(s))for(let o=0;o<s.length;o+=2){const a=r[s[o]],l=s[o+1];try{l.call(a)}finally{}}else try{s.call(r)}finally{}}}}(n,e),function(n,e){const t=n.cleanup,i=e[7];let r=-1;if(null!==t)for(let s=0;s<t.length-1;s+=2)if("string"==typeof t[s]){const o=t[s+1],a="function"==typeof o?o(e):Ue(e[o]),l=i[r=t[s+2]],c=t[s+3];"boolean"==typeof c?a.removeEventListener(t[s],l,c):c>=0?i[r=c]():i[r=-c].unsubscribe(),s+=2}else{const o=i[r=t[s+1]];t[s].call(o)}if(null!==i){for(let s=r+1;s<i.length;s++)i[s]();e[7]=null}}(n,e),1===e[1].type&&Oe(e[G])&&e[G].destroy();const t=e[17];if(null!==t&&gn(e[3])){t!==e[3]&&Wm(t,e);const i=e[19];null!==i&&i.detachView(n)}}}function qm(n,e,t){return function(n,e,t){let i=e;for(;null!==i&&40&i.type;)i=(e=i).parent;if(null===i)return t[0];if(2&i.flags){const r=n.data[i.directiveStart].encapsulation;if(r===Tn.None||r===Tn.Emulated)return null}return nn(i,t)}(n,e.parent,t)}function Ki(n,e,t,i,r){Oe(n)?n.insertBefore(e,t,i,r):e.insertBefore(t,i,r)}function Km(n,e,t){Oe(n)?n.appendChild(e,t):e.appendChild(t)}function Jm(n,e,t,i,r){null!==i?Ki(n,e,t,i,r):Km(n,e,t)}function nl(n,e){return Oe(n)?n.parentNode(e):e.parentNode}let Qm=function(n,e,t){return 40&n.type?nn(n,t):null};function il(n,e,t,i){const r=qm(n,i,e),s=e[G],a=function(n,e,t){return Qm(n,e,t)}(i.parent||e[6],i,e);if(null!=r)if(Array.isArray(t))for(let l=0;l<t.length;l++)Jm(s,r,t[l],a,!1);else Jm(s,r,t,a,!1)}function rl(n,e){if(null!==e){const t=e.type;if(3&t)return nn(e,n);if(4&t)return gd(-1,n[e.index]);if(8&t){const i=e.child;if(null!==i)return rl(n,i);{const r=n[e.index];return gn(r)?gd(-1,r):Ue(r)}}if(32&t)return ad(e,n)()||Ue(n[e.index]);{const i=ty(n,e);return null!==i?Array.isArray(i)?i[0]:rl(to(n[16]),i):rl(n,e.next)}}return null}function ty(n,e){return null!==e?n[16][6].projection[e.projection]:null}function gd(n,e){const t=10+n+1;if(t<e.length){const i=e[t],r=i[1].firstChild;if(null!==r)return rl(i,r)}return e[7]}function md(n,e,t,i,r,s,o){for(;null!=t;){const a=i[t.index],l=t.type;if(o&&0===e&&(a&&ut(Ue(a),i),t.flags|=4),64!=(64&t.flags))if(8&l)md(n,e,t.child,i,r,s,!1),jr(e,n,r,a,s);else if(32&l){const c=ad(t,i);let u;for(;u=c();)jr(e,n,r,u,s);jr(e,n,r,a,s)}else 16&l?iy(n,e,i,t,r,s):jr(e,n,r,a,s);t=o?t.projectionNext:t.next}}function no(n,e,t,i,r,s){md(t,i,n.firstChild,e,r,s,!1)}function iy(n,e,t,i,r,s){const o=t[16],l=o[6].projection[i.projection];if(Array.isArray(l))for(let c=0;c<l.length;c++)jr(e,n,r,l[c],s);else md(n,e,l,o[3],r,s,!0)}function ry(n,e,t){Oe(n)?n.setAttribute(e,"style",t):e.style.cssText=t}function yd(n,e,t){Oe(n)?""===t?n.removeAttribute(e,"class"):n.setAttribute(e,"class",t):e.className=t}function sy(n,e,t){let i=n.length;for(;;){const r=n.indexOf(e,t);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const s=e.length;if(r+s===i||n.charCodeAt(r+s)<=32)return r}t=r+1}}const oy="ng-template";function WA(n,e,t){let i=0;for(;i<n.length;){let r=n[i++];if(t&&"class"===r){if(r=n[i],-1!==sy(r.toLowerCase(),e,0))return!0}else if(1===r){for(;i<n.length&&"string"==typeof(r=n[i++]);)if(r.toLowerCase()===e)return!0;return!1}}return!1}function ay(n){return 4===n.type&&n.value!==oy}function GA(n,e,t){return e===(4!==n.type||t?n.value:oy)}function qA(n,e,t){let i=4;const r=n.attrs||[],s=function(n){for(let e=0;e<n.length;e++)if(Jg(n[e]))return e;return n.length}(r);let o=!1;for(let a=0;a<e.length;a++){const l=e[a];if("number"!=typeof l){if(!o)if(4&i){if(i=2|1&i,""!==l&&!GA(n,l,t)||""===l&&1===e.length){if(yn(i))return!1;o=!0}}else{const c=8&i?l:e[++a];if(8&i&&null!==n.attrs){if(!WA(n.attrs,c,t)){if(yn(i))return!1;o=!0}continue}const d=YA(8&i?"class":l,r,ay(n),t);if(-1===d){if(yn(i))return!1;o=!0;continue}if(""!==c){let h;h=d>s?"":r[d+1].toLowerCase();const f=8&i?h:null;if(f&&-1!==sy(f,c,0)||2&i&&c!==h){if(yn(i))return!1;o=!0}}}}else{if(!o&&!yn(i)&&!yn(l))return!1;if(o&&yn(l))continue;o=!1,i=l|1&i}}return yn(i)||o}function yn(n){return 0==(1&n)}function YA(n,e,t,i){if(null===e)return-1;let r=0;if(i||!t){let s=!1;for(;r<e.length;){const o=e[r];if(o===n)return r;if(3===o||6===o)s=!0;else{if(1===o||2===o){let a=e[++r];for(;"string"==typeof a;)a=e[++r];continue}if(4===o)break;if(0===o){r+=4;continue}}r+=s?1:2}return-1}return function(n,e){let t=n.indexOf(4);if(t>-1)for(t++;t<n.length;){const i=n[t];if("number"==typeof i)return-1;if(i===e)return t;t++}return-1}(e,n)}function ly(n,e,t=!1){for(let i=0;i<e.length;i++)if(qA(n,e[i],t))return!0;return!1}function cy(n,e){return n?":not("+e.trim()+")":e}function QA(n){let e=n[0],t=1,i=2,r="",s=!1;for(;t<n.length;){let o=n[t];if("string"==typeof o)if(2&i){const a=n[++t];r+="["+o+(a.length>0?'="'+a+'"':"")+"]"}else 8&i?r+="."+o:4&i&&(r+=" "+o);else""!==r&&!yn(o)&&(e+=cy(s,r),r=""),i=o,s=s||!yn(i);t++}return""!==r&&(e+=cy(s,r)),e}const U={};function re(n){uy(ce(),E(),Ct()+n,Fa())}function uy(n,e,t,i){if(!i)if(3==(3&e[2])){const s=n.preOrderCheckHooks;null!==s&&ja(e,s,t)}else{const s=n.preOrderHooks;null!==s&&Ha(e,s,0,t)}xi(t)}function sl(n,e){return n<<17|e<<2}function _n(n){return n>>17&32767}function _d(n){return 2|n}function ii(n){return(131068&n)>>2}function vd(n,e){return-131069&n|e<<2}function bd(n){return 1|n}function Cy(n,e){const t=n.contentQueries;if(null!==t)for(let i=0;i<t.length;i+=2){const r=t[i],s=t[i+1];if(-1!==s){const o=n.data[s];Ru(r),o.contentQueries(2,e[s],s)}}}function io(n,e,t,i,r,s,o,a,l,c){const u=e.blueprint.slice();return u[0]=r,u[2]=140|i,Vg(u),u[3]=u[15]=n,u[8]=t,u[10]=o||n&&n[10],u[G]=a||n&&n[G],u[12]=l||n&&n[12]||null,u[9]=c||n&&n[9]||null,u[6]=s,u[16]=2==e.type?n[16]:u,u}function Hr(n,e,t,i,r){let s=n.data[e];if(null===s)s=function(n,e,t,i,r){const s=jg(),o=Tu(),l=n.data[e]=function(n,e,t,i,r,s){return{type:t,index:i,insertBeforeIndex:null,injectorIndex:e?e.injectorIndex:-1,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,propertyBindings:null,flags:0,providerIndexes:0,value:r,attrs:s,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tViews:null,next:null,projectionNext:null,child:null,parent:e,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,o?s:s&&s.parent,t,e,i,r);return null===n.firstChild&&(n.firstChild=l),null!==s&&(o?null==s.child&&null!==l.parent&&(s.child=l):null===s.next&&(s.next=l)),l}(n,e,t,i,r),L.lFrame.inI18n&&(s.flags|=64);else if(64&s.type){s.type=t,s.value=i,s.attrs=r;const o=function(){const n=L.lFrame,e=n.currentTNode;return n.isParent?e:e.parent}();s.injectorIndex=null===o?-1:o.injectorIndex}return kn(s,!0),s}function Ur(n,e,t,i){if(0===t)return-1;const r=e.length;for(let s=0;s<t;s++)e.push(i),n.blueprint.push(i),n.data.push(null);return r}function ro(n,e,t){La(e);try{const i=n.viewQuery;null!==i&&Vd(1,i,t);const r=n.template;null!==r&&Dy(n,e,r,1,t),n.firstCreatePass&&(n.firstCreatePass=!1),n.staticContentQueries&&Cy(n,e),n.staticViewQueries&&Vd(2,n.viewQuery,t);const s=n.components;null!==s&&function(n,e){for(let t=0;t<e.length;t++)F1(n,e[t])}(e,s)}catch(i){throw n.firstCreatePass&&(n.incompleteFirstPass=!0,n.firstCreatePass=!1),i}finally{e[2]&=-5,Va()}}function $r(n,e,t,i){const r=e[2];if(256==(256&r))return;La(e);const s=Fa();try{Vg(e),function(n){L.lFrame.bindingIndex=n}(n.bindingStartIndex),null!==t&&Dy(n,e,t,2,i);const o=3==(3&r);if(!s)if(o){const c=n.preOrderCheckHooks;null!==c&&ja(e,c,null)}else{const c=n.preOrderHooks;null!==c&&Ha(e,c,0,null),Fu(e,0)}if(function(n){for(let e=ld(n);null!==e;e=cd(e)){if(!e[2])continue;const t=e[9];for(let i=0;i<t.length;i++){const r=t[i],s=r[3];0==(1024&r[2])&&Iu(s,1),r[2]|=1024}}}(e),function(n){for(let e=ld(n);null!==e;e=cd(e))for(let t=10;t<e.length;t++){const i=e[t],r=i[1];Au(i)&&$r(r,i,r.template,i[8])}}(e),null!==n.contentQueries&&Cy(n,e),!s)if(o){const c=n.contentCheckHooks;null!==c&&ja(e,c)}else{const c=n.contentHooks;null!==c&&Ha(e,c,1),Fu(e,1)}!function(n,e){const t=n.hostBindingOpCodes;if(null!==t)try{for(let i=0;i<t.length;i++){const r=t[i];if(r<0)xi(~r);else{const s=r,o=t[++i],a=t[++i];jM(o,s),a(2,e[s])}}}finally{xi(-1)}}(n,e);const a=n.components;null!==a&&function(n,e){for(let t=0;t<e.length;t++)R1(n,e[t])}(e,a);const l=n.viewQuery;if(null!==l&&Vd(2,l,i),!s)if(o){const c=n.viewCheckHooks;null!==c&&ja(e,c)}else{const c=n.viewHooks;null!==c&&Ha(e,c,2),Fu(e,2)}!0===n.firstUpdatePass&&(n.firstUpdatePass=!1),s||(e[2]&=-73),1024&e[2]&&(e[2]&=-1025,Iu(e[3],-1))}finally{Va()}}function g1(n,e,t,i){const r=e[10],s=!Fa(),o=function(n){return 4==(4&n[2])}(e);try{s&&!o&&r.begin&&r.begin(),o&&ro(n,e,i),$r(n,e,t,i)}finally{s&&!o&&r.end&&r.end()}}function Dy(n,e,t,i,r){const s=Ct(),o=2&i;try{xi(-1),o&&e.length>20&&uy(n,e,20,Fa()),t(i,r)}finally{xi(s)}}function xy(n){const e=n.tView;return null===e||e.incompleteFirstPass?n.tView=ll(1,null,n.template,n.decls,n.vars,n.directiveDefs,n.pipeDefs,n.viewQuery,n.schemas,n.consts):e}function ll(n,e,t,i,r,s,o,a,l,c){const u=20+i,d=u+r,h=function(n,e){const t=[];for(let i=0;i<e;i++)t.push(i<n?null:U);return t}(u,d),f="function"==typeof c?c():c;return h[1]={type:n,blueprint:h,template:t,queries:null,viewQuery:a,declTNode:e,data:h.slice().fill(null,u),bindingStartIndex:u,expandoStartIndex:d,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:"function"==typeof s?s():s,pipeRegistry:"function"==typeof o?o():o,firstChild:null,schemas:l,consts:f,incompleteFirstPass:!1}}function Ay(n,e,t){for(let i in n)if(n.hasOwnProperty(i)){const r=n[i];(t=null===t?{}:t).hasOwnProperty(i)?t[i].push(e,r):t[i]=[e,r]}return t}function Ty(n,e,t,i,r,s){const o=s.hostBindings;if(o){let a=n.hostBindingOpCodes;null===a&&(a=n.hostBindingOpCodes=[]);const l=~e.index;(function(n){let e=n.length;for(;e>0;){const t=n[--e];if("number"==typeof t&&t<0)return t}return 0})(a)!=l&&a.push(l),a.push(i,r,o)}}function Oy(n,e){null!==n.hostBindings&&n.hostBindings(1,e)}function Py(n,e){e.flags|=2,(n.components||(n.components=[])).push(e.index)}function A1(n,e,t){if(t){if(e.exportAs)for(let i=0;i<e.exportAs.length;i++)t[e.exportAs[i]]=n;mn(e)&&(t[""]=n)}}function ky(n,e,t){n.flags|=1,n.directiveStart=e,n.directiveEnd=e+t,n.providerIndexes=e}function Ry(n,e,t,i,r){n.data[i]=r;const s=r.factory||(r.factory=Yi(r.type)),o=new Vs(s,mn(r),null);n.blueprint[i]=o,t[i]=o,Ty(n,e,0,i,Ur(n,t,r.hostVars,U),r)}function I1(n,e,t){const i=nn(e,n),r=xy(t),s=n[10],o=cl(n,io(n,r,null,t.onPush?64:16,i,e,s,s.createRenderer(i,t),null,null));n[e.index]=o}function Vn(n,e,t,i,r,s){const o=nn(n,e);!function(n,e,t,i,r,s,o){if(null==s)Oe(n)?n.removeAttribute(e,r,t):e.removeAttribute(r);else{const a=null==o?H(s):o(s,i||"",r);Oe(n)?n.setAttribute(e,r,a,t):t?e.setAttributeNS(t,r,a):e.setAttribute(r,a)}}(e[G],o,s,n.value,t,i,r)}function T1(n,e,t,i,r,s){const o=s[e];if(null!==o){const a=i.setInput;for(let l=0;l<o.length;){const c=o[l++],u=o[l++],d=o[l++];null!==a?i.setInput(t,d,c,u):t[u]=d}}}function O1(n,e){let t=null,i=0;for(;i<e.length;){const r=e[i];if(0!==r)if(5!==r){if("number"==typeof r)break;n.hasOwnProperty(r)&&(null===t&&(t=[]),t.push(r,n[r],e[i+1])),i+=2}else i+=2;else i+=4}return t}function R1(n,e){const t=jt(e,n);if(Au(t)){const i=t[1];80&t[2]?$r(i,t,i.template,t[8]):t[5]>0&&Rd(t)}}function Rd(n){for(let i=ld(n);null!==i;i=cd(i))for(let r=10;r<i.length;r++){const s=i[r];if(1024&s[2]){const o=s[1];$r(o,s,o.template,s[8])}else s[5]>0&&Rd(s)}const t=n[1].components;if(null!==t)for(let i=0;i<t.length;i++){const r=jt(t[i],n);Au(r)&&r[5]>0&&Rd(r)}}function F1(n,e){const t=jt(e,n),i=t[1];(function(n,e){for(let t=e.length;t<n.blueprint.length;t++)e.push(n.blueprint[t])})(i,t),ro(i,t,t[8])}function cl(n,e){return n[13]?n[14][4]=e:n[13]=e,n[14]=e,e}function Fd(n){for(;n;){n[2]|=64;const e=to(n);if(vM(n)&&!e)return n;n=e}return null}function Ld(n,e,t){const i=e[10];i.begin&&i.begin();try{$r(n,e,n.template,t)}catch(r){throw jy(e,r),r}finally{i.end&&i.end()}}function Ny(n){!function(n){for(let e=0;e<n.components.length;e++){const t=n.components[e],i=id(t),r=i[1];g1(r,i,r.template,t)}}(n[8])}function Vd(n,e,t){Ru(0),e(n,t)}const j1=(()=>Promise.resolve(null))();function Ly(n){return n[7]||(n[7]=[])}function Vy(n){return n.cleanup||(n.cleanup=[])}function jy(n,e){const t=n[9],i=t?t.get(Vr,null):null;i&&i.handleError(e)}function Hy(n,e,t,i,r){for(let s=0;s<t.length;){const o=t[s++],a=t[s++],l=e[o],c=n.data[o];null!==c.setInput?c.setInput(l,r,i,a):l[a]=r}}function ri(n,e,t){const i=Ra(e,n);!function(n,e,t){Oe(n)?n.setValue(e,t):e.textContent=t}(n[G],i,t)}function ul(n,e,t){let i=t?n.styles:null,r=t?n.classes:null,s=0;if(null!==e)for(let o=0;o<e.length;o++){const a=e[o];"number"==typeof a?s=a:1==s?r=fu(r,a):2==s&&(i=fu(i,a+": "+e[++o]+";"))}t?n.styles=i:n.stylesWithoutHost=i,t?n.classes=r:n.classesWithoutHost=r}const Bd=new z("INJECTOR",-1);class Uy{get(e,t=Gs){if(t===Gs){const i=new Error(`NullInjectorError: No provider for ${le(e)}!`);throw i.name="NullInjectorError",i}return t}}const jd=new z("Set Injector scope."),so={},$1={};let Hd;function $y(){return void 0===Hd&&(Hd=new Uy),Hd}function zy(n,e=null,t=null,i){const r=Wy(n,e,t,i);return r._resolveInjectorDefTypes(),r}function Wy(n,e=null,t=null,i){return new z1(n,t,e||$y(),i)}class z1{constructor(e,t,i,r=null){this.parent=i,this.records=new Map,this.injectorDefTypes=new Set,this.onDestroy=new Set,this._destroyed=!1;const s=[];t&&Rn(t,a=>this.processProvider(a,e,t)),Rn([e],a=>this.processInjectorType(a,[],s)),this.records.set(Bd,zr(void 0,this));const o=this.records.get(jd);this.scope=null!=o?o.value:null,this.source=r||("object"==typeof e?null:le(e))}get destroyed(){return this._destroyed}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{this.onDestroy.forEach(e=>e.ngOnDestroy())}finally{this.records.clear(),this.onDestroy.clear(),this.injectorDefTypes.clear()}}get(e,t=Gs,i=$.Default){this.assertNotDestroyed();const r=pm(this),s=bi(void 0);try{if(!(i&$.SkipSelf)){let a=this.records.get(e);if(void 0===a){const l=("function"==typeof(n=e)||"object"==typeof n&&n instanceof z)&&gu(e);a=l&&this.injectableDefInScope(l)?zr(Ud(e),so):null,this.records.set(e,a)}if(null!=a)return this.hydrate(e,a)}return(i&$.Self?$y():this.parent).get(e,t=i&$.Optional&&t===Gs?null:t)}catch(o){if("NullInjectorError"===o.name){if((o[Ja]=o[Ja]||[]).unshift(le(e)),r)throw o;return function(n,e,t,i){const r=n[Ja];throw e[fm]&&r.unshift(e[fm]),n.message=function(n,e,t,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.substr(2):n;let r=le(e);if(Array.isArray(e))r=e.map(le).join(" -> ");else if("object"==typeof e){let s=[];for(let o in e)if(e.hasOwnProperty(o)){let a=e[o];s.push(o+":"+("string"==typeof a?JSON.stringify(a):le(a)))}r=`{${s.join(", ")}}`}return`${t}${i?"("+i+")":""}[${r}]: ${n.replace(bS,"\n  ")}`}("\n"+n.message,r,t,i),n.ngTokenPath=r,n[Ja]=null,n}(o,e,"R3InjectorError",this.source)}throw o}finally{bi(s),pm(r)}var n}_resolveInjectorDefTypes(){this.injectorDefTypes.forEach(e=>this.get(e))}toString(){const e=[];return this.records.forEach((i,r)=>e.push(le(r))),`R3Injector[${e.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new Error("Injector has already been destroyed.")}processInjectorType(e,t,i){if(!(e=W(e)))return!1;let r=Dg(e);const s=null==r&&e.ngModule||void 0,o=void 0===s?e:s,a=-1!==i.indexOf(o);if(void 0!==s&&(r=Dg(s)),null==r)return!1;if(null!=r.imports&&!a){let u;i.push(o);try{Rn(r.imports,d=>{this.processInjectorType(d,t,i)&&(void 0===u&&(u=[]),u.push(d))})}finally{}if(void 0!==u)for(let d=0;d<u.length;d++){const{ngModule:h,providers:f}=u[d];Rn(f,p=>this.processProvider(p,h,f||ye))}}this.injectorDefTypes.add(o);const l=Yi(o)||(()=>new o);this.records.set(o,zr(l,so));const c=r.providers;if(null!=c&&!a){const u=e;Rn(c,d=>this.processProvider(d,u,c))}return void 0!==s&&void 0!==e.providers}processProvider(e,t,i){let r=Wr(e=W(e))?e:W(e&&e.provide);const s=(n=e,qy(n)?zr(void 0,n.useValue):zr(Gy(n),so));var n;if(Wr(e)||!0!==e.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=zr(void 0,so,!0),o.factory=()=>qu(o.multi),this.records.set(r,o)),r=e,o.multi.push(e)}this.records.set(r,s)}hydrate(e,t){return t.value===so&&(t.value=$1,t.value=t.factory()),"object"==typeof t.value&&t.value&&null!==(n=t.value)&&"object"==typeof n&&"function"==typeof n.ngOnDestroy&&this.onDestroy.add(t.value),t.value;var n}injectableDefInScope(e){if(!e.providedIn)return!1;const t=W(e.providedIn);return"string"==typeof t?"any"===t||t===this.scope:this.injectorDefTypes.has(t)}}function Ud(n){const e=gu(n),t=null!==e?e.factory:Yi(n);if(null!==t)return t;if(n instanceof z)throw new Error(`Token ${le(n)} is missing a \u0275prov definition.`);if(n instanceof Function)return function(n){const e=n.length;if(e>0){const i=function(n,e){const t=[];for(let i=0;i<n;i++)t.push(e);return t}(e,"?");throw new Error(`Can't resolve all parameters for ${le(n)}: (${i.join(", ")}).`)}const t=function(n){const e=n&&(n[Sa]||n[wg]);if(e){const t=function(n){if(n.hasOwnProperty("name"))return n.name;const e=(""+n).match(/^function\s*([^\s(]+)/);return null===e?"":e[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${t}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${t}" class.`),e}return null}(n);return null!==t?()=>t.factory(n):()=>new n}(n);throw new Error("unreachable")}function Gy(n,e,t){let i;if(Wr(n)){const r=W(n);return Yi(r)||Ud(r)}if(qy(n))i=()=>W(n.useValue);else if(function(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...qu(n.deps||[]));else if(function(n){return!(!n||!n.useExisting)}(n))i=()=>P(W(n.useExisting));else{const r=W(n&&(n.useClass||n.provide));if(!function(n){return!!n.deps}(n))return Yi(r)||Ud(r);i=()=>new r(...qu(n.deps))}return i}function zr(n,e,t=!1){return{factory:n,value:e,multi:t?[]:void 0}}function qy(n){return null!==n&&"object"==typeof n&&DS in n}function Wr(n){return"function"==typeof n}let rt=(()=>{class n{static create(t,i){var r;if(Array.isArray(t))return zy({name:""},i,t,"");{const s=null!==(r=t.name)&&void 0!==r?r:"";return zy({name:s},t.parent,t.providers,s)}}}return n.THROW_IF_NOT_FOUND=Gs,n.NULL=new Uy,n.\u0275prov=B({token:n,providedIn:"any",factory:()=>P(Bd)}),n.__NG_ELEMENT_ID__=-1,n})();function oI(n,e){Ba(id(n)[1],Ke())}function Ce(n){let e=function(n){return Object.getPrototypeOf(n.prototype).constructor}(n.type),t=!0;const i=[n];for(;e;){let r;if(mn(n))r=e.\u0275cmp||e.\u0275dir;else{if(e.\u0275cmp)throw new Error("Directives cannot inherit Components");r=e.\u0275dir}if(r){if(t){i.push(r);const o=n;o.inputs=Wd(n.inputs),o.declaredInputs=Wd(n.declaredInputs),o.outputs=Wd(n.outputs);const a=r.hostBindings;a&&uI(n,a);const l=r.viewQuery,c=r.contentQueries;if(l&&lI(n,l),c&&cI(n,c),hu(n.inputs,r.inputs),hu(n.declaredInputs,r.declaredInputs),hu(n.outputs,r.outputs),mn(r)&&r.data.animation){const u=n.data;u.animation=(u.animation||[]).concat(r.data.animation)}}const s=r.features;if(s)for(let o=0;o<s.length;o++){const a=s[o];a&&a.ngInherit&&a(n),a===Ce&&(t=!1)}}e=Object.getPrototypeOf(e)}!function(n){let e=0,t=null;for(let i=n.length-1;i>=0;i--){const r=n[i];r.hostVars=e+=r.hostVars,r.hostAttrs=$a(r.hostAttrs,t=$a(t,r.hostAttrs))}}(i)}function Wd(n){return n===br?{}:n===ye?[]:n}function lI(n,e){const t=n.viewQuery;n.viewQuery=t?(i,r)=>{e(i,r),t(i,r)}:e}function cI(n,e){const t=n.contentQueries;n.contentQueries=t?(i,r,s)=>{e(i,r,s),t(i,r,s)}:e}function uI(n,e){const t=n.hostBindings;n.hostBindings=t?(i,r)=>{e(i,r),t(i,r)}:e}let dl=null;function Gr(){if(!dl){const n=ge.Symbol;if(n&&n.iterator)dl=n.iterator;else{const e=Object.getOwnPropertyNames(Map.prototype);for(let t=0;t<e.length;++t){const i=e[t];"entries"!==i&&"size"!==i&&Map.prototype[i]===Map.prototype.entries&&(dl=i)}}}return dl}function oo(n){return!!Gd(n)&&(Array.isArray(n)||!(n instanceof Map)&&Gr()in n)}function Gd(n){return null!==n&&("function"==typeof n||"object"==typeof n)}function dt(n,e,t){return!Object.is(n[e],t)&&(n[e]=t,!0)}function jn(n,e,t,i){const r=E();return dt(r,Mr(),e)&&(ce(),Vn(Pe(),r,n,e,t,i)),jn}function x(n,e=$.Default){const t=E();return null===t?P(n,e):im(Ke(),t,W(n),e)}function Zd(){throw new Error("invalid")}function Ze(n,e,t){const i=E();return dt(i,Mr(),e)&&function(n,e,t,i,r,s,o,a){const l=nn(e,t);let u,c=e.inputs;!a&&null!=c&&(u=c[i])?(Hy(n,t,u,i,r),Pa(e)&&function(n,e){const t=jt(e,n);16&t[2]||(t[2]|=64)}(t,e.index)):3&e.type&&(i=function(n){return"class"===n?"className":"for"===n?"htmlFor":"formaction"===n?"formAction":"innerHtml"===n?"innerHTML":"readonly"===n?"readOnly":"tabindex"===n?"tabIndex":n}(i),r=null!=o?o(r,e.value||"",i):r,Oe(s)?s.setProperty(l,i,r):Lu(i)||(l.setProperty?l.setProperty(i,r):l[i]=r))}(ce(),Pe(),i,n,e,i[G],t,!1),Ze}function Xd(n,e,t,i,r){const o=r?"class":"style";Hy(n,t,e.inputs[o],o,i)}function m(n,e,t,i){const r=E(),s=ce(),o=20+n,a=r[G],l=r[o]=dd(a,e,L.lFrame.currentNamespace),c=s.firstCreatePass?function(n,e,t,i,r,s,o){const a=e.consts,c=Hr(e,n,2,r,wi(a,s));return function(n,e,t,i){let r=!1;if(Bg()){const s=function(n,e,t){const i=n.directiveRegistry;let r=null;if(i)for(let s=0;s<i.length;s++){const o=i[s];ly(t,o.selectors,!1)&&(r||(r=[]),Ga(js(t,e),n,o.type),mn(o)?(Py(n,t),r.unshift(o)):r.push(o))}return r}(n,e,t),o=null===i?null:{"":-1};if(null!==s){r=!0,ky(t,n.data.length,s.length);for(let u=0;u<s.length;u++){const d=s[u];d.providersResolver&&d.providersResolver(d)}let a=!1,l=!1,c=Ur(n,e,s.length,null);for(let u=0;u<s.length;u++){const d=s[u];t.mergedAttrs=$a(t.mergedAttrs,d.hostAttrs),Ry(n,t,e,c,d),A1(c,d,o),null!==d.contentQueries&&(t.flags|=8),(null!==d.hostBindings||null!==d.hostAttrs||0!==d.hostVars)&&(t.flags|=128);const h=d.type.prototype;!a&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((n.preOrderHooks||(n.preOrderHooks=[])).push(t.index),a=!0),!l&&(h.ngOnChanges||h.ngDoCheck)&&((n.preOrderCheckHooks||(n.preOrderCheckHooks=[])).push(t.index),l=!0),c++}!function(n,e){const i=e.directiveEnd,r=n.data,s=e.attrs,o=[];let a=null,l=null;for(let c=e.directiveStart;c<i;c++){const u=r[c],d=u.inputs,h=null===s||ay(e)?null:O1(d,s);o.push(h),a=Ay(d,c,a),l=Ay(u.outputs,c,l)}null!==a&&(a.hasOwnProperty("class")&&(e.flags|=16),a.hasOwnProperty("style")&&(e.flags|=32)),e.initialInputs=o,e.inputs=a,e.outputs=l}(n,t)}o&&function(n,e,t){if(e){const i=n.localNames=[];for(let r=0;r<e.length;r+=2){const s=t[e[r+1]];if(null==s)throw new Ft("301",`Export of name '${e[r+1]}' not found!`);i.push(e[r],s)}}}(t,i,o)}t.mergedAttrs=$a(t.mergedAttrs,t.attrs)}(e,t,c,wi(a,o)),null!==c.attrs&&ul(c,c.attrs,!1),null!==c.mergedAttrs&&ul(c,c.mergedAttrs,!0),null!==e.queries&&e.queries.elementStart(e,c),c}(o,s,r,0,e,t,i):s.data[o];kn(c,!0);const u=c.mergedAttrs;null!==u&&Ua(a,l,u);const d=c.classes;null!==d&&yd(a,l,d);const h=c.styles;null!==h&&ry(a,l,h),64!=(64&c.flags)&&il(s,r,l,c),0===L.lFrame.elementDepthCount&&ut(l,r),L.lFrame.elementDepthCount++,ka(c)&&(function(n,e,t){!Bg()||(function(n,e,t,i){const r=t.directiveStart,s=t.directiveEnd;n.firstCreatePass||js(t,e),ut(i,e);const o=t.initialInputs;for(let a=r;a<s;a++){const l=n.data[a],c=mn(l);c&&I1(e,t,l);const u=Hs(e,n,a,t);ut(u,e),null!==o&&T1(0,a-r,u,l,0,o),c&&(jt(t.index,e)[8]=u)}}(n,e,t,nn(t,e)),128==(128&t.flags)&&function(n,e,t){const i=t.directiveStart,r=t.directiveEnd,o=t.index,a=L.lFrame.currentDirectiveIndex;try{xi(o);for(let l=i;l<r;l++){const c=n.data[l],u=e[l];Pu(l),(null!==c.hostBindings||0!==c.hostVars||null!==c.hostAttrs)&&Oy(c,u)}}finally{xi(-1),Pu(a)}}(n,e,t))}(s,r,c),function(n,e,t){if(Du(e)){const r=e.directiveEnd;for(let s=e.directiveStart;s<r;s++){const o=n.data[s];o.contentQueries&&o.contentQueries(1,t[s],s)}}}(s,c,r)),null!==i&&function(n,e,t=nn){const i=e.localNames;if(null!==i){let r=e.index+1;for(let s=0;s<i.length;s+=2){const o=i[s+1],a=-1===o?t(e,n):n[o];n[r++]=a}}}(r,c)}function y(){let n=Ke();Tu()?L.lFrame.isParent=!1:(n=n.parent,kn(n,!1));const e=n;L.lFrame.elementDepthCount--;const t=ce();t.firstCreatePass&&(Ba(t,n),Du(n)&&t.queries.elementEnd(n)),null!=e.classesWithoutHost&&function(n){return 0!=(16&n.flags)}(e)&&Xd(t,e,E(),e.classesWithoutHost,!0),null!=e.stylesWithoutHost&&function(n){return 0!=(32&n.flags)}(e)&&Xd(t,e,E(),e.stylesWithoutHost,!1)}function Q(n,e,t,i){m(n,e,t,i),y()}function lo(n){return!!n&&"function"==typeof n.then}const Qd=function(n){return!!n&&"function"==typeof n.subscribe};function q(n,e,t,i){const r=E(),s=ce(),o=Ke();return function(n,e,t,i,r,s,o,a){const l=ka(i),u=n.firstCreatePass&&Vy(n),d=e[8],h=Ly(e);let f=!0;if(3&i.type||a){const _=nn(i,e),v=a?a(_):_,b=h.length,D=a?C=>a(Ue(C[i.index])):i.index;if(Oe(t)){let C=null;if(!a&&l&&(C=function(n,e,t,i){const r=n.cleanup;if(null!=r)for(let s=0;s<r.length-1;s+=2){const o=r[s];if(o===t&&r[s+1]===i){const a=e[7],l=r[s+2];return a.length>l?a[l]:null}"string"==typeof o&&(s+=2)}return null}(n,e,r,i.index)),null!==C)(C.__ngLastListenerFn__||C).__ngNextListenerFn__=s,C.__ngLastListenerFn__=s,f=!1;else{s=eh(i,e,d,s,!1);const w=t.listen(v,r,s);h.push(s,w),u&&u.push(r,D,b,b+1)}}else s=eh(i,e,d,s,!0),v.addEventListener(r,s,o),h.push(s),u&&u.push(r,D,b,o)}else s=eh(i,e,d,s,!1);const p=i.outputs;let g;if(f&&null!==p&&(g=p[r])){const _=g.length;if(_)for(let v=0;v<_;v+=2){const M=e[g[v]][g[v+1]].subscribe(s),A=h.length;h.push(s,M),u&&u.push(r,i.index,A,-(A+1))}}}(s,r,r[G],o,n,e,!!t,i),q}function T_(n,e,t,i){try{return!1!==t(i)}catch(r){return jy(n,r),!1}}function eh(n,e,t,i,r){return function s(o){if(o===Function)return i;const a=2&n.flags?jt(n.index,e):e;0==(32&e[2])&&Fd(a);let l=T_(e,0,i,o),c=s.__ngNextListenerFn__;for(;c;)l=T_(e,0,c,o)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(o.preventDefault(),o.returnValue=!1),l}}function j_(n,e,t,i,r){const s=n[t+1],o=null===e;let a=i?_n(s):ii(s),l=!1;for(;0!==a&&(!1===l||o);){const u=n[a+1];ZI(n[a],e)&&(l=!0,n[a+1]=i?bd(u):_d(u)),a=i?_n(u):ii(u)}l&&(n[t+1]=i?_d(s):bd(s))}function ZI(n,e){return null===n||null==e||(Array.isArray(n)?n[1]:n)===e||!(!Array.isArray(n)||"string"!=typeof e)&&Rr(n,e)>=0}function pl(n,e){return function(n,e,t,i){const r=E(),s=ce(),o=function(n){const e=L.lFrame,t=e.bindingIndex;return e.bindingIndex=e.bindingIndex+n,t}(2);s.firstUpdatePass&&function(n,e,t,i){const r=n.data;if(null===r[t+1]){const s=r[Ct()],o=function(n,e){return e>=n.expandoStartIndex}(n,t);(function(n,e){return 0!=(n.flags&(e?16:32))})(s,i)&&null===e&&!o&&(e=!1),e=function(n,e,t,i){const r=function(n){const e=L.lFrame.currentDirectiveIndex;return-1===e?null:n[e]}(n);let s=i?e.residualClasses:e.residualStyles;if(null===r)0===(i?e.classBindings:e.styleBindings)&&(t=co(t=nh(null,n,e,t,i),e.attrs,i),s=null);else{const o=e.directiveStylingLast;if(-1===o||n[o]!==r)if(t=nh(r,n,e,t,i),null===s){let l=function(n,e,t){const i=t?e.classBindings:e.styleBindings;if(0!==ii(i))return n[_n(i)]}(n,e,i);void 0!==l&&Array.isArray(l)&&(l=nh(null,n,e,l[1],i),l=co(l,e.attrs,i),function(n,e,t,i){n[_n(t?e.classBindings:e.styleBindings)]=i}(n,e,i,l))}else s=function(n,e,t){let i;const r=e.directiveEnd;for(let s=1+e.directiveStylingLast;s<r;s++)i=co(i,n[s].hostAttrs,t);return co(i,e.attrs,t)}(n,e,i)}return void 0!==s&&(i?e.residualClasses=s:e.residualStyles=s),t}(r,s,e,i),function(n,e,t,i,r,s){let o=s?e.classBindings:e.styleBindings,a=_n(o),l=ii(o);n[i]=t;let u,c=!1;if(Array.isArray(t)){const d=t;u=d[1],(null===u||Rr(d,u)>0)&&(c=!0)}else u=t;if(r)if(0!==l){const h=_n(n[a+1]);n[i+1]=sl(h,a),0!==h&&(n[h+1]=vd(n[h+1],i)),n[a+1]=function(n,e){return 131071&n|e<<17}(n[a+1],i)}else n[i+1]=sl(a,0),0!==a&&(n[a+1]=vd(n[a+1],i)),a=i;else n[i+1]=sl(l,0),0===a?a=i:n[l+1]=vd(n[l+1],i),l=i;c&&(n[i+1]=_d(n[i+1])),j_(n,u,i,!0),j_(n,u,i,!1),function(n,e,t,i,r){const s=r?n.residualClasses:n.residualStyles;null!=s&&"string"==typeof e&&Rr(s,e)>=0&&(t[i+1]=bd(t[i+1]))}(e,u,n,i,s),o=sl(a,l),s?e.classBindings=o:e.styleBindings=o}(r,s,e,t,o,i)}}(s,n,o,i),e!==U&&dt(r,o,e)&&function(n,e,t,i,r,s,o,a){if(!(3&e.type))return;const l=n.data,c=l[a+1];gl(function(n){return 1==(1&n)}(c)?X_(l,e,t,r,ii(c),o):void 0)||(gl(s)||function(n){return 2==(2&n)}(c)&&(s=X_(l,null,t,r,a,o)),function(n,e,t,i,r){const s=Oe(n);if(e)r?s?n.addClass(t,i):t.classList.add(i):s?n.removeClass(t,i):t.classList.remove(i);else{let o=-1===i.indexOf("-")?void 0:$t.DashCase;if(null==r)s?n.removeStyle(t,i,o):t.style.removeProperty(i);else{const a="string"==typeof r&&r.endsWith("!important");a&&(r=r.slice(0,-10),o|=$t.Important),s?n.setStyle(t,i,r,o):t.style.setProperty(i,r,a?"important":"")}}}(i,o,Ra(Ct(),t),r,s))}(s,s.data[Ct()],r,r[G],n,r[o+1]=function(n,e){return null==n||("string"==typeof e?n+=e:"object"==typeof n&&(n=le(function(n){return n instanceof class{constructor(e){this.changingThisBreaksApplicationSecurity=e}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see https://g.co/ng/security#xss)`}}?n.changingThisBreaksApplicationSecurity:n}(n)))),n}(e,t),i,o)}(n,e,null,!0),pl}function nh(n,e,t,i,r){let s=null;const o=t.directiveEnd;let a=t.directiveStylingLast;for(-1===a?a=t.directiveStart:a++;a<o&&(s=e[a],i=co(i,s.hostAttrs,r),s!==n);)a++;return null!==n&&(t.directiveStylingLast=a),i}function co(n,e,t){const i=t?1:2;let r=-1;if(null!==e)for(let s=0;s<e.length;s++){const o=e[s];"number"==typeof o?r=o:r===i&&(Array.isArray(n)||(n=void 0===n?[]:["",n]),Ut(n,o,!!t||e[++s]))}return void 0===n?null:n}function X_(n,e,t,i,r,s){const o=null===e;let a;for(;r>0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let h=t[r+1];h===U&&(h=d?ye:void 0);let f=d?zu(h,i):u===i?h:void 0;if(c&&!gl(f)&&(f=zu(l,i)),gl(f)&&(a=f,o))return a;const p=n[r+1];r=o?_n(p):ii(p)}if(null!==e){let l=s?e.residualClasses:e.residualStyles;null!=l&&(a=zu(l,i))}return a}function gl(n){return void 0!==n}function S(n,e=""){const t=E(),i=ce(),r=n+20,s=i.firstCreatePass?Hr(i,r,1,e,null):i.data[r],o=t[r]=function(n,e){return Oe(n)?n.createText(e):n.createTextNode(e)}(t[G],e);il(i,t,o,s),kn(s,!1)}function Wt(n){return $n("",n,""),Wt}function $n(n,e,t){const i=E(),r=function(n,e,t,i){return dt(n,Mr(),t)?e+H(t)+i:U}(i,n,e,t);return r!==U&&ri(i,Ct(),r),$n}const Zi=void 0;var PT=["en",[["a","p"],["AM","PM"],Zi],[["AM","PM"],Zi,Zi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Zi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Zi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Zi,"{1} 'at' {0}",Zi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===t&&0===i?1:5}];let rs={};function bv(n){return n in rs||(rs[n]=ge.ng&&ge.ng.common&&ge.ng.common.locales&&ge.ng.common.locales[n]),rs[n]}var T=(()=>((T=T||{})[T.LocaleId=0]="LocaleId",T[T.DayPeriodsFormat=1]="DayPeriodsFormat",T[T.DayPeriodsStandalone=2]="DayPeriodsStandalone",T[T.DaysFormat=3]="DaysFormat",T[T.DaysStandalone=4]="DaysStandalone",T[T.MonthsFormat=5]="MonthsFormat",T[T.MonthsStandalone=6]="MonthsStandalone",T[T.Eras=7]="Eras",T[T.FirstDayOfWeek=8]="FirstDayOfWeek",T[T.WeekendRange=9]="WeekendRange",T[T.DateFormat=10]="DateFormat",T[T.TimeFormat=11]="TimeFormat",T[T.DateTimeFormat=12]="DateTimeFormat",T[T.NumberSymbols=13]="NumberSymbols",T[T.NumberFormats=14]="NumberFormats",T[T.CurrencyCode=15]="CurrencyCode",T[T.CurrencySymbol=16]="CurrencySymbol",T[T.CurrencyName=17]="CurrencyName",T[T.Currencies=18]="Currencies",T[T.Directionality=19]="Directionality",T[T.PluralCase=20]="PluralCase",T[T.ExtraData=21]="ExtraData",T))();const ml="en-US";let Cv=ml;function sh(n,e,t,i,r){if(n=W(n),Array.isArray(n))for(let s=0;s<n.length;s++)sh(n[s],e,t,i,r);else{const s=ce(),o=E();let a=Wr(n)?n:W(n.provide),l=Gy(n);const c=Ke(),u=1048575&c.providerIndexes,d=c.directiveStart,h=c.providerIndexes>>20;if(Wr(n)||!n.multi){const f=new Vs(l,r,x),p=ah(a,e,r?u:u+h,d);-1===p?(Ga(js(c,o),s,a),oh(s,n,e.length),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(f),o.push(f)):(t[p]=f,o[p]=f)}else{const f=ah(a,e,u+h,d),p=ah(a,e,u,u+h),g=f>=0&&t[f],_=p>=0&&t[p];if(r&&!_||!r&&!g){Ga(js(c,o),s,a);const v=function(n,e,t,i,r){const s=new Vs(n,t,x);return s.multi=[],s.index=e,s.componentProviders=0,Wv(s,r,i&&!t),s}(r?OO:TO,t.length,r,i,l);!r&&_&&(t[p].providerFactory=v),oh(s,n,e.length,0),e.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),t.push(v),o.push(v)}else oh(s,n,f>-1?f:p,Wv(t[r?p:f],l,!r&&i));!r&&i&&_&&t[p].componentProviders++}}}function oh(n,e,t,i){const r=Wr(e),s=function(n){return!!n.useClass}(e);if(r||s){const l=(s?W(e.useClass):e).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&e.multi){const u=c.indexOf(t);-1===u?c.push(t,[i,l]):c[u+1].push(i,l)}else c.push(t,l)}}}function Wv(n,e,t){return t&&n.componentProviders++,n.multi.push(e)-1}function ah(n,e,t,i){for(let r=t;r<i;r++)if(e[r]===n)return r;return-1}function TO(n,e,t,i){return lh(this.multi,[])}function OO(n,e,t,i){const r=this.multi;let s;if(this.providerFactory){const o=this.providerFactory.componentProviders,a=Hs(t,t[1],this.providerFactory.index,i);s=a.slice(0,o),lh(r,s);for(let l=o;l<a.length;l++)s.push(a[l])}else s=[],lh(r,s);return s}function lh(n,e){for(let t=0;t<n.length;t++)e.push((0,n[t])());return e}function Se(n,e=[]){return t=>{t.providersResolver=(i,r)=>function(n,e,t){const i=ce();if(i.firstCreatePass){const r=mn(n);sh(t,i.data,i.blueprint,r,!0),sh(e,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,e)}}class Gv{}class FO{resolveComponentFactory(e){throw function(n){const e=Error(`No component factory found for ${le(n)}. Did you add it to @NgModule.entryComponents?`);return e.ngComponent=n,e}(e)}}let os=(()=>{class n{}return n.NULL=new FO,n})();function NO(){return as(Ke(),E())}function as(n,e){return new Gt(nn(n,e))}let Gt=(()=>{class n{constructor(t){this.nativeElement=t}}return n.__NG_ELEMENT_ID__=NO,n})();class Yv{}let si=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function(){const n=E(),t=jt(Ke().index,n);return function(n){return n[G]}(Pn(t)?t:n)}(),n})(),jO=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>null}),n})();class go{constructor(e){this.full=e,this.major=e.split(".")[0],this.minor=e.split(".")[1],this.patch=e.split(".").slice(2).join(".")}}const HO=new go("13.1.1"),ch={};function Cl(n,e,t,i,r=!1){for(;null!==t;){const s=e[t.index];if(null!==s&&i.push(Ue(s)),gn(s))for(let a=10;a<s.length;a++){const l=s[a],c=l[1].firstChild;null!==c&&Cl(l[1],l,c,i)}const o=t.type;if(8&o)Cl(n,e,t.child,i);else if(32&o){const a=ad(t,e);let l;for(;l=a();)i.push(l)}else if(16&o){const a=ty(e,t);if(Array.isArray(a))i.push(...a);else{const l=to(e[16]);Cl(l[1],l,a,i,!0)}}t=r?t.projectionNext:t.next}return i}class mo{constructor(e,t){this._lView=e,this._cdRefInjectingView=t,this._appRef=null,this._attachedToViewContainer=!1}get rootNodes(){const e=this._lView,t=e[1];return Cl(t,e,t.firstChild,[])}get context(){return this._lView[8]}set context(e){this._lView[8]=e}get destroyed(){return 256==(256&this._lView[2])}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){const e=this._lView[3];if(gn(e)){const t=e[8],i=t?t.indexOf(this):-1;i>-1&&(hd(e,i),Ya(t,i))}this._attachedToViewContainer=!1}Gm(this._lView[1],this._lView)}onDestroy(e){!function(n,e,t,i){const r=Ly(e);null===t?r.push(i):(r.push(t),n.firstCreatePass&&Vy(n).push(i,r.length-1))}(this._lView[1],this._lView,null,e)}markForCheck(){Fd(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-129}reattach(){this._lView[2]|=128}detectChanges(){Ld(this._lView[1],this._lView,this.context)}checkNoChanges(){!function(n,e,t){Na(!0);try{Ld(n,e,t)}finally{Na(!1)}}(this._lView[1],this._lView,this.context)}attachToViewContainerRef(){if(this._appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._attachedToViewContainer=!0}detachFromAppRef(){var e;this._appRef=null,no(this._lView[1],e=this._lView,e[G],2,null,null)}attachToAppRef(e){if(this._attachedToViewContainer)throw new Error("This view is already attached to a ViewContainer!");this._appRef=e}}class UO extends mo{constructor(e){super(e),this._view=e}detectChanges(){Ny(this._view)}checkNoChanges(){!function(n){Na(!0);try{Ny(n)}finally{Na(!1)}}(this._view)}get context(){return null}}class Kv extends os{constructor(e){super(),this.ngModule=e}resolveComponentFactory(e){const t=lt(e);return new uh(t,this.ngModule)}}function Jv(n){const e=[];for(let t in n)n.hasOwnProperty(t)&&e.push({propName:n[t],templateName:t});return e}const zO=new z("SCHEDULER_TOKEN",{providedIn:"root",factory:()=>Vm});class uh extends Gv{constructor(e,t){super(),this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=e.selectors.map(QA).join(","),this.ngContentSelectors=e.ngContentSelectors?e.ngContentSelectors:[],this.isBoundToModule=!!t}get inputs(){return Jv(this.componentDef.inputs)}get outputs(){return Jv(this.componentDef.outputs)}create(e,t,i,r){const s=(r=r||this.ngModule)?function(n,e){return{get:(t,i,r)=>{const s=n.get(t,ch,r);return s!==ch||i===ch?s:e.get(t,i,r)}}}(e,r.injector):e,o=s.get(Yv,Ng),a=s.get(jO,null),l=o.createRenderer(null,this.componentDef),c=this.componentDef.selectors[0][0]||"div",u=i?function(n,e,t){if(Oe(n))return n.selectRootElement(e,t===Tn.ShadowDom);let i="string"==typeof e?n.querySelector(e):e;return i.textContent="",i}(l,i,this.componentDef.encapsulation):dd(o.createRenderer(null,this.componentDef),c,function(n){const e=n.toLowerCase();return"svg"===e?"http://www.w3.org/2000/svg":"math"===e?"http://www.w3.org/1998/MathML/":null}(c)),d=this.componentDef.onPush?576:528,h=function(n,e){return{components:[],scheduler:n||Vm,clean:j1,playerHandler:e||null,flags:0}}(),f=ll(0,null,null,1,0,null,null,null,null,null),p=io(null,f,h,d,null,null,o,l,a,s);let g,_;La(p);try{const v=function(n,e,t,i,r,s){const o=t[1];t[20]=n;const l=Hr(o,20,2,"#host",null),c=l.mergedAttrs=e.hostAttrs;null!==c&&(ul(l,c,!0),null!==n&&(Ua(r,n,c),null!==l.classes&&yd(r,n,l.classes),null!==l.styles&&ry(r,n,l.styles)));const u=i.createRenderer(n,e),d=io(t,xy(e),null,e.onPush?64:16,t[20],l,i,u,s||null,null);return o.firstCreatePass&&(Ga(js(l,t),o,e.type),Py(o,l),ky(l,t.length,1)),cl(t,d),t[20]=d}(u,this.componentDef,p,o,l);if(u)if(i)Ua(l,u,["ng-version",HO.full]);else{const{attrs:b,classes:D}=function(n){const e=[],t=[];let i=1,r=2;for(;i<n.length;){let s=n[i];if("string"==typeof s)2===r?""!==s&&e.push(s,n[++i]):8===r&&t.push(s);else{if(!yn(r))break;r=s}i++}return{attrs:e,classes:t}}(this.componentDef.selectors[0]);b&&Ua(l,u,b),D&&D.length>0&&yd(l,u,D.join(" "))}if(_=Su(f,20),void 0!==t){const b=_.projection=[];for(let D=0;D<this.ngContentSelectors.length;D++){const C=t[D];b.push(null!=C?Array.from(C):null)}}g=function(n,e,t,i,r){const s=t[1],o=function(n,e,t){const i=Ke();n.firstCreatePass&&(t.providersResolver&&t.providersResolver(t),Ry(n,i,e,Ur(n,e,1,null),t));const r=Hs(e,n,i.directiveStart,i);ut(r,e);const s=nn(i,e);return s&&ut(s,e),r}(s,t,e);if(i.components.push(o),n[8]=o,r&&r.forEach(l=>l(o,e)),e.contentQueries){const l=Ke();e.contentQueries(1,o,l.directiveStart)}const a=Ke();return!s.firstCreatePass||null===e.hostBindings&&null===e.hostAttrs||(xi(a.index),Ty(t[1],a,0,a.directiveStart,a.directiveEnd,e),Oy(e,o)),o}(v,this.componentDef,p,h,[oI]),ro(f,p,null)}finally{Va()}return new qO(this.componentType,g,as(_,p),p,_)}}class qO extends class{}{constructor(e,t,i,r,s){super(),this.location=i,this._rootLView=r,this._tNode=s,this.instance=t,this.hostView=this.changeDetectorRef=new UO(r),this.componentType=e}get injector(){return new Ir(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}}class oi{}class Zv{}const ls=new Map;class eb extends oi{constructor(e,t){super(),this._parent=t,this._bootstrapComponents=[],this.injector=this,this.destroyCbs=[],this.componentFactoryResolver=new Kv(this);const i=Qt(e);this._bootstrapComponents=Ln(i.bootstrap),this._r3Injector=Wy(e,t,[{provide:oi,useValue:this},{provide:os,useValue:this.componentFactoryResolver}],le(e)),this._r3Injector._resolveInjectorDefTypes(),this.instance=this.get(e)}get(e,t=rt.THROW_IF_NOT_FOUND,i=$.Default){return e===rt||e===oi||e===Bd?this:this._r3Injector.get(e,t,i)}destroy(){const e=this._r3Injector;!e.destroyed&&e.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(e){this.destroyCbs.push(e)}}class dh extends Zv{constructor(e){super(),this.moduleType=e,null!==Qt(e)&&function(n){const e=new Set;!function t(i){const r=Qt(i,!0),s=r.id;null!==s&&(function(n,e,t){if(e&&e!==t)throw new Error(`Duplicate module registered for ${n} - ${le(e)} vs ${le(e.name)}`)}(s,ls.get(s),i),ls.set(s,i));const o=Ln(r.imports);for(const a of o)e.has(a)||(e.add(a),t(a))}(n)}(e)}create(e){return new eb(this.moduleType,e)}}function hh(n){return e=>{setTimeout(n,void 0,e)}}const Re=class extends Jt{constructor(e=!1){super(),this.__isAsync=e}emit(e){super.next(e)}subscribe(e,t,i){var r,s,o;let a=e,l=t||(()=>null),c=i;if(e&&"object"==typeof e){const d=e;a=null===(r=d.next)||void 0===r?void 0:r.bind(d),l=null===(s=d.error)||void 0===s?void 0:s.bind(d),c=null===(o=d.complete)||void 0===o?void 0:o.bind(d)}this.__isAsync&&(l=hh(l),a&&(a=hh(a)),c&&(c=hh(c)));const u=super.subscribe({next:a,error:l,complete:c});return e instanceof Rt&&e.add(u),u}};Symbol;let Dn=(()=>{class n{}return n.__NG_ELEMENT_ID__=_P,n})();function _P(){return function(n,e){let t;const i=e[n.index];if(gn(i))t=i;else{let r;if(8&n.type)r=Ue(i);else{const s=e[G];r=s.createComment("");const o=nn(n,e);Ki(s,nl(s,o),r,function(n,e){return Oe(n)?n.nextSibling(e):e.nextSibling}(s,o),!1)}e[n.index]=t=function(n,e,t,i){return new Array(n,!0,!1,e,null,0,i,t,null,null)}(i,e,r,n),cl(e,t)}return new ob(t,n,e)}(Ke(),E())}const vP=Dn,ob=class extends vP{constructor(e,t,i){super(),this._lContainer=e,this._hostTNode=t,this._hostLView=i}get element(){return as(this._hostTNode,this._hostLView)}get injector(){return new Ir(this._hostTNode,this._hostLView)}get parentInjector(){const e=Wa(this._hostTNode,this._hostLView);if(Xg(e)){const t=Ar(e,this._hostLView),i=Sr(e);return new Ir(t[1].data[i+8],t)}return new Ir(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(e){const t=ab(this._lContainer);return null!==t&&t[e]||null}get length(){return this._lContainer.length-10}createEmbeddedView(e,t,i){const r=e.createEmbeddedView(t||{});return this.insert(r,i),r}createComponent(e,t,i,r,s){const o=e&&!("function"==typeof e);let a;if(o)a=t;else{const d=t||{};a=d.index,i=d.injector,r=d.projectableNodes,s=d.ngModuleRef}const l=o?e:new uh(lt(e)),c=i||this.parentInjector;if(!s&&null==l.ngModule&&c){const d=c.get(oi,null);d&&(s=d)}const u=l.create(c,r,void 0,s);return this.insert(u.hostView,a),u}insert(e,t){const i=e._lView,r=i[1];if(gn(i[3])){const u=this.indexOf(e);if(-1!==u)this.detach(u);else{const d=i[3],h=new ob(d,d[6],d[3]);h.detach(h.indexOf(e))}}const s=this._adjustIndex(t),o=this._lContainer;!function(n,e,t,i){const r=10+i,s=t.length;i>0&&(t[r-1][4]=e),i<s-10?(e[4]=t[r],lm(t,10+i,e)):(t.push(e),e[4]=null),e[3]=t;const o=e[17];null!==o&&t!==o&&function(n,e){const t=n[9];e[16]!==e[3][3][16]&&(n[2]=!0),null===t?n[9]=[e]:t.push(e)}(o,e);const a=e[19];null!==a&&a.insertView(n),e[2]|=128}(r,i,o,s);const a=gd(s,o),l=i[G],c=nl(l,o[7]);return null!==c&&function(n,e,t,i,r,s){i[0]=r,i[6]=e,no(n,i,t,1,r,s)}(r,o[6],l,i,c,a),e.attachToViewContainerRef(),lm(ph(o),s,e),e}move(e,t){return this.insert(e,t)}indexOf(e){const t=ab(this._lContainer);return null!==t?t.indexOf(e):-1}remove(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);i&&(Ya(ph(this._lContainer),t),Gm(i[1],i))}detach(e){const t=this._adjustIndex(e,-1),i=hd(this._lContainer,t);return i&&null!=Ya(ph(this._lContainer),t)?new mo(i):null}_adjustIndex(e,t=0){return null==e?this.length+t:e}};function ab(n){return n[8]}function ph(n){return n[8]||(n[8]=[])}function El(...n){}const bo=new z("Application Initializer");let us=(()=>{class n{constructor(t){this.appInits=t,this.resolve=El,this.reject=El,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const t=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r<this.appInits.length;r++){const s=this.appInits[r]();if(lo(s))t.push(s);else if(Qd(s)){const o=new Promise((a,l)=>{s.subscribe({complete:a,error:l})});t.push(o)}}Promise.all(t).then(()=>{i()}).catch(r=>{this.reject(r)}),0===t.length&&i(),this.initialized=!0}}return n.\u0275fac=function(t){return new(t||n)(P(bo,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Co=new z("AppId"),qP={provide:Co,useFactory:function(){return`${Ah()}${Ah()}${Ah()}`},deps:[]};function Ah(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const Tb=new z("Platform Initializer"),ds=new z("Platform ID"),Ob=new z("appBootstrapListener");let Pb=(()=>{class n{log(t){console.log(t)}warn(t){console.warn(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Ii=new z("LocaleId"),kb=new z("DefaultCurrencyCode");class YP{constructor(e,t){this.ngModuleFactory=e,this.componentFactories=t}}let Ml=(()=>{class n{compileModuleSync(t){return new dh(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){const i=this.compileModuleSync(t),s=Ln(Qt(t).declarations).reduce((o,a)=>{const l=lt(a);return l&&o.push(new uh(l)),o},[]);return new YP(i,s)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const JP=(()=>Promise.resolve(0))();function Ih(n){"undefined"==typeof Zone?JP.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class ze{constructor({enableLongStackTrace:e=!1,shouldCoalesceEventChangeDetection:t=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Re(!1),this.onMicrotaskEmpty=new Re(!1),this.onStable=new Re(!1),this.onError=new Re(!1),"undefined"==typeof Zone)throw new Error("In this configuration Angular requires Zone.js");Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),e&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&t,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function(){let n=ge.requestAnimationFrame,e=ge.cancelAnimationFrame;if("undefined"!=typeof Zone&&n&&e){const t=n[Zone.__symbol__("OriginalDelegate")];t&&(n=t);const i=e[Zone.__symbol__("OriginalDelegate")];i&&(e=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:e}}().nativeRequestAnimationFrame,function(n){const e=()=>{!function(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(ge,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,Oh(n),n.isCheckStableRunning=!0,Th(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),Oh(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(t,i,r,s,o,a)=>{try{return Rb(n),t.invokeTask(r,s,o,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===s.type||n.shouldCoalesceRunChangeDetection)&&e(),Fb(n)}},onInvoke:(t,i,r,s,o,a,l)=>{try{return Rb(n),t.invoke(r,s,o,a,l)}finally{n.shouldCoalesceRunChangeDetection&&e(),Fb(n)}},onHasTask:(t,i,r,s)=>{t.hasTask(r,s),i===r&&("microTask"==s.change?(n._hasPendingMicrotasks=s.microTask,Oh(n),Th(n)):"macroTask"==s.change&&(n.hasPendingMacrotasks=s.macroTask))},onHandleError:(t,i,r,s)=>(t.handleError(r,s),n.runOutsideAngular(()=>n.onError.emit(s)),!1)})}(r)}static isInAngularZone(){return!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ze.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")}static assertNotInAngularZone(){if(ze.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")}run(e,t,i){return this._inner.run(e,t,i)}runTask(e,t,i,r){const s=this._inner,o=s.scheduleEventTask("NgZoneEvent: "+r,e,XP,El,El);try{return s.runTask(o,t,i)}finally{s.cancelTask(o)}}runGuarded(e,t,i){return this._inner.runGuarded(e,t,i)}runOutsideAngular(e){return this._outer.run(e)}}const XP={};function Th(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function Oh(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function Rb(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function Fb(n){n._nesting--,Th(n)}class tk{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Re,this.onMicrotaskEmpty=new Re,this.onStable=new Re,this.onError=new Re}run(e,t,i){return e.apply(t,i)}runGuarded(e,t,i){return e.apply(t,i)}runOutsideAngular(e){return e()}runTask(e,t,i,r){return e.apply(t,i)}}let Ph=(()=>{class n{constructor(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,this._watchAngularEvents(),t.run(()=>{this.taskTrackingZone="undefined"==typeof Zone?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ze.assertNotInAngularZone(),Ih(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())Ih(()=>{for(;0!==this._callbacks.length;){let t=this._callbacks.pop();clearTimeout(t.timeoutId),t.doneCb(this._didWork)}this._didWork=!1});else{let t=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(t)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(t=>({source:t.source,creationLocation:t.creationLocation,data:t.data})):[]}addCallback(t,i,r){let s=-1;i&&i>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(o=>o.timeoutId!==s),t(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:t,timeoutId:s,updateCb:r})}whenStable(t,i,r){if(r&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(t,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}findProviders(t,i,r){return[]}}return n.\u0275fac=function(t){return new(t||n)(P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Nb=(()=>{class n{constructor(){this._applications=new Map,kh.addToWindow(this)}registerApplication(t,i){this._applications.set(t,i)}unregisterApplication(t){this._applications.delete(t)}unregisterAllApplications(){this._applications.clear()}getTestability(t){return this._applications.get(t)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(t,i=!0){return kh.findTestabilityInTree(this,t,i)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class nk{addToWindow(e){}findTestabilityInTree(e,t,i){return null}}let wn,kh=new nk;const Lb=new z("AllowMultipleToken");class Vb{constructor(e,t){this.name=e,this.token=t}}function Bb(n,e,t=[]){const i=`Platform: ${e}`,r=new z(i);return(s=[])=>{let o=jb();if(!o||o.injector.get(Lb,!1))if(n)n(t.concat(s).concat({provide:r,useValue:!0}));else{const a=t.concat(s).concat({provide:r,useValue:!0},{provide:jd,useValue:"platform"});!function(n){if(wn&&!wn.destroyed&&!wn.injector.get(Lb,!1))throw new Ft("400","");wn=n.get(Hb);const e=n.get(Tb,null);e&&e.forEach(t=>t())}(rt.create({providers:a,name:i}))}return function(n){const e=jb();if(!e)throw new Ft("401","");return e}()}}function jb(){return wn&&!wn.destroyed?wn:null}let Hb=(()=>{class n{constructor(t){this._injector=t,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(t,i){const a=function(n,e){let t;return t="noop"===n?new tk:("zone.js"===n?void 0:n)||new ze({enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!!(null==e?void 0:e.ngZoneEventCoalescing),shouldCoalesceRunChangeDetection:!!(null==e?void 0:e.ngZoneRunCoalescing)}),t}(i?i.ngZone:void 0,{ngZoneEventCoalescing:i&&i.ngZoneEventCoalescing||!1,ngZoneRunCoalescing:i&&i.ngZoneRunCoalescing||!1}),l=[{provide:ze,useValue:a}];return a.run(()=>{const c=rt.create({providers:l,parent:this.injector,name:t.moduleType.name}),u=t.create(c),d=u.injector.get(Vr,null);if(!d)throw new Ft("402","");return a.runOutsideAngular(()=>{const h=a.onError.subscribe({next:f=>{d.handleError(f)}});u.onDestroy(()=>{Rh(this._modules,u),h.unsubscribe()})}),function(n,e,t){try{const i=t();return lo(i)?i.catch(r=>{throw e.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw e.runOutsideAngular(()=>n.handleError(i)),i}}(d,a,()=>{const h=u.injector.get(us);return h.runInitializers(),h.donePromise.then(()=>(function(n){Lt(n,"Expected localeId to be defined"),"string"==typeof n&&(Cv=n.toLowerCase().replace(/_/g,"-"))}(u.injector.get(Ii,ml)||ml),this._moduleDoBootstrap(u),u))})})}bootstrapModule(t,i=[]){const r=Ub({},i);return function(n,e,t){const i=new dh(t);return Promise.resolve(i)}(0,0,t).then(s=>this.bootstrapModuleFactory(s,r))}_moduleDoBootstrap(t){const i=t.injector.get(hs);if(t._bootstrapComponents.length>0)t._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!t.instance.ngDoBootstrap)throw new Ft("403","");t.instance.ngDoBootstrap(i)}this._modules.push(t)}onDestroy(t){this._destroyListeners.push(t)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new Ft("404","");this._modules.slice().forEach(t=>t.destroy()),this._destroyListeners.forEach(t=>t()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Ub(n,e){return Array.isArray(e)?e.reduce(Ub,n):Object.assign(Object.assign({},n),e)}let hs=(()=>{class n{constructor(t,i,r,s,o){this._zone=t,this._injector=i,this._exceptionHandler=r,this._componentFactoryResolver=s,this._initStatus=o,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const a=new fe(c=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{c.next(this._stable),c.complete()})}),l=new fe(c=>{let u;this._zone.runOutsideAngular(()=>{u=this._zone.onStable.subscribe(()=>{ze.assertNotInAngularZone(),Ih(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,c.next(!0))})})});const d=this._zone.onUnstable.subscribe(()=>{ze.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{c.next(!1)}))});return()=>{u.unsubscribe(),d.unsubscribe()}});this.isStable=Ea(a,l.pipe(function(n={}){const{connector:e=(()=>new Jt),resetOnError:t=!0,resetOnComplete:i=!0,resetOnRefCountZero:r=!0}=n;return s=>{let o=null,a=null,l=null,c=0,u=!1,d=!1;const h=()=>{null==a||a.unsubscribe(),a=null},f=()=>{h(),o=l=null,u=d=!1},p=()=>{const g=o;f(),null==g||g.unsubscribe()};return je((g,_)=>{c++,!d&&!u&&h();const v=l=null!=l?l:e();_.add(()=>{c--,0===c&&!d&&!u&&(a=du(p,r))}),v.subscribe(_),o||(o=new ru({next:b=>v.next(b),error:b=>{d=!0,h(),a=du(f,t,b),v.error(b)},complete:()=>{u=!0,h(),a=du(f,i),v.complete()}}),Ye(g).subscribe(o))})(s)}}()))}bootstrap(t,i){if(!this._initStatus.done)throw new Ft("405","");let r;r=t instanceof Gv?t:this._componentFactoryResolver.resolveComponentFactory(t),this.componentTypes.push(r.componentType);const s=function(n){return n.isBoundToModule}(r)?void 0:this._injector.get(oi),a=r.create(rt.NULL,[],i||r.selector,s),l=a.location.nativeElement,c=a.injector.get(Ph,null),u=c&&a.injector.get(Nb);return c&&u&&u.registerApplication(l,c),a.onDestroy(()=>{this.detachView(a.hostView),Rh(this.components,a),u&&u.unregisterApplication(l)}),this._loadComponent(a),a}tick(){if(this._runningTick)throw new Ft("101","");try{this._runningTick=!0;for(let t of this._views)t.detectChanges()}catch(t){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(t))}finally{this._runningTick=!1}}attachView(t){const i=t;this._views.push(i),i.attachToAppRef(this)}detachView(t){const i=t;Rh(this._views,i),i.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t),this._injector.get(Ob,[]).concat(this._bootstrapListeners).forEach(r=>r(t))}ngOnDestroy(){this._views.slice().forEach(t=>t.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}get viewCount(){return this._views.length}}return n.\u0275fac=function(t){return new(t||n)(P(ze),P(rt),P(Vr),P(os),P(us))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function Rh(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}let Fh=(()=>{class n{}return n.__NG_ELEMENT_ID__=fk,n})();function fk(n){return function(n,e,t){if(Pa(n)&&!t){const i=jt(n.index,e);return new mo(i,i)}return 47&n.type?new mo(e[16],e):null}(Ke(),E(),16==(16&n))}class Zb{constructor(){}supports(e){return oo(e)}create(e){return new bk(e)}}const vk=(n,e)=>e;class bk{constructor(e){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=e||vk}forEachItem(e){let t;for(t=this._itHead;null!==t;t=t._next)e(t)}forEachOperation(e){let t=this._itHead,i=this._removalsHead,r=0,s=null;for(;t||i;){const o=!i||t&&t.currentIndex<Qb(i,r,s)?t:i,a=Qb(o,r,s),l=o.currentIndex;if(o===i)r--,i=i._nextRemoved;else if(t=t._next,null==o.previousIndex)r++;else{s||(s=[]);const c=a-r,u=l-r;if(c!=u){for(let h=0;h<c;h++){const f=h<s.length?s[h]:s[h]=0,p=f+h;u<=p&&p<c&&(s[h]=f+1)}s[o.previousIndex]=u-c}}a!==l&&e(o,a,l)}}forEachPreviousItem(e){let t;for(t=this._previousItHead;null!==t;t=t._nextPrevious)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachMovedItem(e){let t;for(t=this._movesHead;null!==t;t=t._nextMoved)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}forEachIdentityChange(e){let t;for(t=this._identityChangesHead;null!==t;t=t._nextIdentityChange)e(t)}diff(e){if(null==e&&(e=[]),!oo(e))throw new Error(`Error trying to diff '${le(e)}'. Only arrays and iterables are allowed`);return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let r,s,o,t=this._itHead,i=!1;if(Array.isArray(e)){this.length=e.length;for(let a=0;a<this.length;a++)s=e[a],o=this._trackByFn(a,s),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,s,o,a)),Object.is(t.item,s)||this._addIdentityChange(t,s)):(t=this._mismatch(t,s,o,a),i=!0),t=t._next}else r=0,function(n,e){if(Array.isArray(n))for(let t=0;t<n.length;t++)e(n[t]);else{const t=n[Gr()]();let i;for(;!(i=t.next()).done;)e(i.value)}}(e,a=>{o=this._trackByFn(r,a),null!==t&&Object.is(t.trackById,o)?(i&&(t=this._verifyReinsertion(t,a,o,r)),Object.is(t.item,a)||this._addIdentityChange(t,a)):(t=this._mismatch(t,a,o,r),i=!0),t=t._next,r++}),this.length=r;return this._truncate(t),this.collection=e,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let e;for(e=this._previousItHead=this._itHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._additionsHead;null!==e;e=e._nextAdded)e.previousIndex=e.currentIndex;for(this._additionsHead=this._additionsTail=null,e=this._movesHead;null!==e;e=e._nextMoved)e.previousIndex=e.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(e,t,i,r){let s;return null===e?s=this._itTail:(s=e._prev,this._remove(e)),null!==(e=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._reinsertAfter(e,s,r)):null!==(e=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(e.item,t)||this._addIdentityChange(e,t),this._moveAfter(e,s,r)):e=this._addAfter(new Ck(t,i),s,r),e}_verifyReinsertion(e,t,i,r){let s=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==s?e=this._reinsertAfter(s,e._prev,r):e.currentIndex!=r&&(e.currentIndex=r,this._addToMoves(e,r)),e}_truncate(e){for(;null!==e;){const t=e._next;this._addToRemovals(this._unlink(e)),e=t}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(e,t,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(e);const r=e._prevRemoved,s=e._nextRemoved;return null===r?this._removalsHead=s:r._nextRemoved=s,null===s?this._removalsTail=r:s._prevRemoved=r,this._insertAfter(e,t,i),this._addToMoves(e,i),e}_moveAfter(e,t,i){return this._unlink(e),this._insertAfter(e,t,i),this._addToMoves(e,i),e}_addAfter(e,t,i){return this._insertAfter(e,t,i),this._additionsTail=null===this._additionsTail?this._additionsHead=e:this._additionsTail._nextAdded=e,e}_insertAfter(e,t,i){const r=null===t?this._itHead:t._next;return e._next=r,e._prev=t,null===r?this._itTail=e:r._prev=e,null===t?this._itHead=e:t._next=e,null===this._linkedRecords&&(this._linkedRecords=new Xb),this._linkedRecords.put(e),e.currentIndex=i,e}_remove(e){return this._addToRemovals(this._unlink(e))}_unlink(e){null!==this._linkedRecords&&this._linkedRecords.remove(e);const t=e._prev,i=e._next;return null===t?this._itHead=i:t._next=i,null===i?this._itTail=t:i._prev=t,e}_addToMoves(e,t){return e.previousIndex===t||(this._movesTail=null===this._movesTail?this._movesHead=e:this._movesTail._nextMoved=e),e}_addToRemovals(e){return null===this._unlinkedRecords&&(this._unlinkedRecords=new Xb),this._unlinkedRecords.put(e),e.currentIndex=null,e._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=e,e._prevRemoved=null):(e._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=e),e}_addIdentityChange(e,t){return e.item=t,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=e:this._identityChangesTail._nextIdentityChange=e,e}}class Ck{constructor(e,t){this.item=e,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}}class Dk{constructor(){this._head=null,this._tail=null}add(e){null===this._head?(this._head=this._tail=e,e._nextDup=null,e._prevDup=null):(this._tail._nextDup=e,e._prevDup=this._tail,e._nextDup=null,this._tail=e)}get(e,t){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===t||t<=i.currentIndex)&&Object.is(i.trackById,e))return i;return null}remove(e){const t=e._prevDup,i=e._nextDup;return null===t?this._head=i:t._nextDup=i,null===i?this._tail=t:i._prevDup=t,null===this._head}}class Xb{constructor(){this.map=new Map}put(e){const t=e.trackById;let i=this.map.get(t);i||(i=new Dk,this.map.set(t,i)),i.add(e)}get(e,t){const r=this.map.get(e);return r?r.get(e,t):null}remove(e){const t=e.trackById;return this.map.get(t).remove(e)&&this.map.delete(t),e}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function Qb(n,e,t){const i=n.previousIndex;if(null===i)return i;let r=0;return t&&i<t.length&&(r=t[i]),i+e+r}class eC{constructor(){}supports(e){return e instanceof Map||Gd(e)}create(){return new wk}}class wk{constructor(){this._records=new Map,this._mapHead=null,this._appendAfter=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}get isDirty(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead}forEachItem(e){let t;for(t=this._mapHead;null!==t;t=t._next)e(t)}forEachPreviousItem(e){let t;for(t=this._previousMapHead;null!==t;t=t._nextPrevious)e(t)}forEachChangedItem(e){let t;for(t=this._changesHead;null!==t;t=t._nextChanged)e(t)}forEachAddedItem(e){let t;for(t=this._additionsHead;null!==t;t=t._nextAdded)e(t)}forEachRemovedItem(e){let t;for(t=this._removalsHead;null!==t;t=t._nextRemoved)e(t)}diff(e){if(e){if(!(e instanceof Map||Gd(e)))throw new Error(`Error trying to diff '${le(e)}'. Only maps and objects are allowed`)}else e=new Map;return this.check(e)?this:null}onDestroy(){}check(e){this._reset();let t=this._mapHead;if(this._appendAfter=null,this._forEach(e,(i,r)=>{if(t&&t.key===r)this._maybeAddToChanges(t,i),this._appendAfter=t,t=t._next;else{const s=this._getOrCreateRecordForKey(r,i);t=this._insertBeforeOrAppend(t,s)}}),t){t._prev&&(t._prev._next=null),this._removalsHead=t;for(let i=t;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(e,t){if(e){const i=e._prev;return t._next=e,t._prev=i,e._prev=t,i&&(i._next=t),e===this._mapHead&&(this._mapHead=t),this._appendAfter=e,e}return this._appendAfter?(this._appendAfter._next=t,t._prev=this._appendAfter):this._mapHead=t,this._appendAfter=t,null}_getOrCreateRecordForKey(e,t){if(this._records.has(e)){const r=this._records.get(e);this._maybeAddToChanges(r,t);const s=r._prev,o=r._next;return s&&(s._next=o),o&&(o._prev=s),r._next=null,r._prev=null,r}const i=new xk(e);return this._records.set(e,i),i.currentValue=t,this._addToAdditions(i),i}_reset(){if(this.isDirty){let e;for(this._previousMapHead=this._mapHead,e=this._previousMapHead;null!==e;e=e._next)e._nextPrevious=e._next;for(e=this._changesHead;null!==e;e=e._nextChanged)e.previousValue=e.currentValue;for(e=this._additionsHead;null!=e;e=e._nextAdded)e.previousValue=e.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(e,t){Object.is(t,e.currentValue)||(e.previousValue=e.currentValue,e.currentValue=t,this._addToChanges(e))}_addToAdditions(e){null===this._additionsHead?this._additionsHead=this._additionsTail=e:(this._additionsTail._nextAdded=e,this._additionsTail=e)}_addToChanges(e){null===this._changesHead?this._changesHead=this._changesTail=e:(this._changesTail._nextChanged=e,this._changesTail=e)}_forEach(e,t){e instanceof Map?e.forEach(t):Object.keys(e).forEach(i=>t(e[i],i))}}class xk{constructor(e){this.key=e,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function tC(){return new Do([new Zb])}let Do=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(null!=i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||tC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(null!=i)return i;throw new Error(`Cannot find a differ supporting object '${t}' of type '${function(n){return n.name||typeof n}(t)}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:tC}),n})();function nC(){return new fs([new eC])}let fs=(()=>{class n{constructor(t){this.factories=t}static create(t,i){if(i){const r=i.factories.slice();t=t.concat(r)}return new n(t)}static extend(t){return{provide:n,useFactory:i=>n.create(t,i||nC()),deps:[[n,new Fr,new Fn]]}}find(t){const i=this.factories.find(r=>r.supports(t));if(i)return i;throw new Error(`Cannot find a differ supporting object '${t}'`)}}return n.\u0275prov=B({token:n,providedIn:"root",factory:nC}),n})();const Mk=[new eC],Ak=new Do([new Zb]),Ik=new fs(Mk),Tk=Bb(null,"core",[{provide:ds,useValue:"unknown"},{provide:Hb,deps:[rt]},{provide:Nb,deps:[]},{provide:Pb,deps:[]}]),Fk=[{provide:hs,useClass:hs,deps:[ze,rt,Vr,os,us]},{provide:zO,deps:[ze],useFactory:function(n){let e=[];return n.onStable.subscribe(()=>{for(;e.length;)e.pop()()}),function(t){e.push(t)}}},{provide:us,useClass:us,deps:[[new Fn,bo]]},{provide:Ml,useClass:Ml,deps:[]},qP,{provide:Do,useFactory:function(){return Ak},deps:[]},{provide:fs,useFactory:function(){return Ik},deps:[]},{provide:Ii,useFactory:function(n){return n||"undefined"!=typeof $localize&&$localize.locale||ml},deps:[[new Ks(Ii),new Fn,new Fr]]},{provide:kb,useValue:"USD"}];let Lk=(()=>{class n{constructor(t){}}return n.\u0275fac=function(t){return new(t||n)(P(hs))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:Fk}),n})(),Al=null;function zn(){return Al}const qt=new z("DocumentToken");let Qi=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return P(iC)},providedIn:"platform"}),n})();const Uk=new z("Location Initialized");let iC=(()=>{class n extends Qi{constructor(t){super(),this._doc=t,this._init()}_init(){this.location=window.location,this._history=window.history}getBaseHrefFromDOM(){return zn().getBaseHref(this._doc)}onPopState(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("popstate",t,!1),()=>i.removeEventListener("popstate",t)}onHashChange(t){const i=zn().getGlobalEventTarget(this._doc,"window");return i.addEventListener("hashchange",t,!1),()=>i.removeEventListener("hashchange",t)}get href(){return this.location.href}get protocol(){return this.location.protocol}get hostname(){return this.location.hostname}get port(){return this.location.port}get pathname(){return this.location.pathname}get search(){return this.location.search}get hash(){return this.location.hash}set pathname(t){this.location.pathname=t}pushState(t,i,r){rC()?this._history.pushState(t,i,r):this.location.hash=r}replaceState(t,i,r){rC()?this._history.replaceState(t,i,r):this.location.hash=r}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:function(){return new iC(P(qt))},providedIn:"platform"}),n})();function rC(){return!!window.history.pushState}function jh(n,e){if(0==n.length)return e;if(0==e.length)return n;let t=0;return n.endsWith("/")&&t++,e.startsWith("/")&&t++,2==t?n+e.substring(1):1==t?n+e:n+"/"+e}function sC(n){const e=n.match(/#|\?|$/),t=e&&e.index||n.length;return n.slice(0,t-("/"===n[t-1]?1:0))+n.slice(t)}function li(n){return n&&"?"!==n[0]?"?"+n:n}let ps=(()=>{class n{historyGo(t){throw new Error("Not implemented")}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:function(){return function(n){const e=P(qt).location;return new oC(P(Qi),e&&e.origin||"")}()},providedIn:"root"}),n})();const Il=new z("appBaseHref");let oC=(()=>{class n extends ps{constructor(t,i){if(super(),this._platformLocation=t,this._removeListenerFns=[],null==i&&(i=this._platformLocation.getBaseHrefFromDOM()),null==i)throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=i}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return jh(this._baseHref,t)}path(t=!1){const i=this._platformLocation.pathname+li(this._platformLocation.search),r=this._platformLocation.hash;return r&&t?`${i}${r}`:i}pushState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){const o=this.prepareExternalUrl(r+li(s));this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Wk=(()=>{class n extends ps{constructor(t,i){super(),this._platformLocation=t,this._baseHref="",this._removeListenerFns=[],null!=i&&(this._baseHref=i)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}path(t=!1){let i=this._platformLocation.hash;return null==i&&(i="#"),i.length>0?i.substring(1):i}prepareExternalUrl(t){const i=jh(this._baseHref,t);return i.length>0?"#"+i:i}pushState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.pushState(t,i,o)}replaceState(t,i,r,s){let o=this.prepareExternalUrl(r+li(s));0==o.length&&(o=this._platformLocation.pathname),this._platformLocation.replaceState(t,i,o)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformLocation).historyGo)||void 0===r||r.call(i,t)}}return n.\u0275fac=function(t){return new(t||n)(P(Qi),P(Il,8))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Hh=(()=>{class n{constructor(t,i){this._subject=new Re,this._urlChangeListeners=[],this._platformStrategy=t;const r=this._platformStrategy.getBaseHref();this._platformLocation=i,this._baseHref=sC(aC(r)),this._platformStrategy.onPopState(s=>{this._subject.emit({url:this.path(!0),pop:!0,state:s.state,type:s.type})})}path(t=!1){return this.normalize(this._platformStrategy.path(t))}getState(){return this._platformLocation.getState()}isCurrentPathEqualTo(t,i=""){return this.path()==this.normalize(t+li(i))}normalize(t){return n.stripTrailingSlash(function(n,e){return n&&e.startsWith(n)?e.substring(n.length):e}(this._baseHref,aC(t)))}prepareExternalUrl(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)}go(t,i="",r=null){this._platformStrategy.pushState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}replaceState(t,i="",r=null){this._platformStrategy.replaceState(r,"",t,i),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+li(i)),r)}forward(){this._platformStrategy.forward()}back(){this._platformStrategy.back()}historyGo(t=0){var i,r;null===(r=(i=this._platformStrategy).historyGo)||void 0===r||r.call(i,t)}onUrlChange(t){this._urlChangeListeners.push(t),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(i=>{this._notifyUrlChangeListeners(i.url,i.state)}))}_notifyUrlChangeListeners(t="",i){this._urlChangeListeners.forEach(r=>r(t,i))}subscribe(t,i,r){return this._subject.subscribe({next:t,error:i,complete:r})}}return n.normalizeQueryParams=li,n.joinWithSlash=jh,n.stripTrailingSlash=sC,n.\u0275fac=function(t){return new(t||n)(P(ps),P(Qi))},n.\u0275prov=B({token:n,factory:function(){return new Hh(P(ps),P(Qi))},providedIn:"root"}),n})();function aC(n){return n.replace(/\/index.html$/,"")}var We=(()=>((We=We||{})[We.Zero=0]="Zero",We[We.One=1]="One",We[We.Two=2]="Two",We[We.Few=3]="Few",We[We.Many=4]="Many",We[We.Other=5]="Other",We))();const eR=function(n){return function(n){const e=function(n){return n.toLowerCase().replace(/_/g,"-")}(n);let t=bv(e);if(t)return t;const i=e.split("-")[0];if(t=bv(i),t)return t;if("en"===i)return PT;throw new Error(`Missing locale data for the locale "${n}".`)}(n)[T.PluralCase]};class Bl{}let IR=(()=>{class n extends Bl{constructor(t){super(),this.locale=t}getPluralCategory(t,i){switch(eR(i||this.locale)(t)){case We.Zero:return"zero";case We.One:return"one";case We.Two:return"two";case We.Few:return"few";case We.Many:return"many";default:return"other"}}}return n.\u0275fac=function(t){return new(t||n)(P(Ii))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function mC(n,e){e=encodeURIComponent(e);for(const t of n.split(";")){const i=t.indexOf("="),[r,s]=-1==i?[t,""]:[t.slice(0,i),t.slice(i+1)];if(r.trim()===e)return decodeURIComponent(s)}return null}let cF=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[{provide:Bl,useClass:IR}]}),n})();const CC="browser";function DC(n){return n===CC}let fF=(()=>{class n{}return n.\u0275prov=B({token:n,providedIn:"root",factory:()=>new pF(P(qt),window)}),n})();class pF{constructor(e,t){this.document=e,this.window=t,this.offset=()=>[0,0]}setOffset(e){this.offset=Array.isArray(e)?()=>e:e}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(e){this.supportsScrolling()&&this.window.scrollTo(e[0],e[1])}scrollToAnchor(e){if(!this.supportsScrolling())return;const t=function(n,e){const t=n.getElementById(e)||n.getElementsByName(e)[0];if(t)return t;if("function"==typeof n.createTreeWalker&&n.body&&(n.body.createShadowRoot||n.body.attachShadow)){const i=n.createTreeWalker(n.body,NodeFilter.SHOW_ELEMENT);let r=i.currentNode;for(;r;){const s=r.shadowRoot;if(s){const o=s.getElementById(e)||s.querySelector(`[name="${e}"]`);if(o)return o}r=i.nextNode()}}return null}(this.document,e);t&&(this.scrollToElement(t),this.attemptFocus(t))}setHistoryScrollRestoration(e){if(this.supportScrollRestoration()){const t=this.window.history;t&&t.scrollRestoration&&(t.scrollRestoration=e)}}scrollToElement(e){const t=e.getBoundingClientRect(),i=t.left+this.window.pageXOffset,r=t.top+this.window.pageYOffset,s=this.offset();this.window.scrollTo(i-s[0],r-s[1])}attemptFocus(e){return e.focus(),this.document.activeElement===e}supportScrollRestoration(){try{if(!this.supportsScrolling())return!1;const e=wC(this.window.history)||wC(Object.getPrototypeOf(this.window.history));return!(!e||!e.writable&&!e.set)}catch(e){return!1}}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch(e){return!1}}}function wC(n){return Object.getOwnPropertyDescriptor(n,"scrollRestoration")}class xC{}class ef extends class extends class{}{constructor(){super(...arguments),this.supportsDOMEvents=!0}}{static makeCurrent(){var n;n=new ef,Al||(Al=n)}onAndCancel(e,t,i){return e.addEventListener(t,i,!1),()=>{e.removeEventListener(t,i,!1)}}dispatchEvent(e,t){e.dispatchEvent(t)}remove(e){e.parentNode&&e.parentNode.removeChild(e)}createElement(e,t){return(t=t||this.getDefaultDocument()).createElement(e)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(e){return e.nodeType===Node.ELEMENT_NODE}isShadowRoot(e){return e instanceof DocumentFragment}getGlobalEventTarget(e,t){return"window"===t?window:"document"===t?e:"body"===t?e.body:null}getBaseHref(e){const t=(Eo=Eo||document.querySelector("base"),Eo?Eo.getAttribute("href"):null);return null==t?null:function(n){jl=jl||document.createElement("a"),jl.setAttribute("href",n);const e=jl.pathname;return"/"===e.charAt(0)?e:`/${e}`}(t)}resetBaseElement(){Eo=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return mC(document.cookie,e)}}let jl,Eo=null;const EC=new z("TRANSITION_ID"),bF=[{provide:bo,useFactory:function(n,e,t){return()=>{t.get(us).donePromise.then(()=>{const i=zn(),r=e.querySelectorAll(`style[ng-transition="${n}"]`);for(let s=0;s<r.length;s++)i.remove(r[s])})}},deps:[EC,qt,rt],multi:!0}];class tf{static init(){var n;n=new tf,kh=n}addToWindow(e){ge.getAngularTestability=(i,r=!0)=>{const s=e.findTestabilityInTree(i,r);if(null==s)throw new Error("Could not find testability for element.");return s},ge.getAllAngularTestabilities=()=>e.getAllTestabilities(),ge.getAllAngularRootElements=()=>e.getAllRootElements(),ge.frameworkStabilizers||(ge.frameworkStabilizers=[]),ge.frameworkStabilizers.push(i=>{const r=ge.getAllAngularTestabilities();let s=r.length,o=!1;const a=function(l){o=o||l,s--,0==s&&i(o)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(e,t,i){if(null==t)return null;const r=e.getTestability(t);return null!=r?r:i?zn().isShadowRoot(t)?this.findTestabilityInTree(e,t.host,!0):this.findTestabilityInTree(e,t.parentElement,!0):null}}let CF=(()=>{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const Hl=new z("EventManagerPlugins");let Ul=(()=>{class n{constructor(t,i){this._zone=i,this._eventNameToPlugin=new Map,t.forEach(r=>r.manager=this),this._plugins=t.slice().reverse()}addEventListener(t,i,r){return this._findPluginFor(i).addEventListener(t,i,r)}addGlobalEventListener(t,i,r){return this._findPluginFor(i).addGlobalEventListener(t,i,r)}getZone(){return this._zone}_findPluginFor(t){const i=this._eventNameToPlugin.get(t);if(i)return i;const r=this._plugins;for(let s=0;s<r.length;s++){const o=r[s];if(o.supports(t))return this._eventNameToPlugin.set(t,o),o}throw new Error(`No event manager plugin found for event ${t}`)}}return n.\u0275fac=function(t){return new(t||n)(P(Hl),P(ze))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class MC{constructor(e){this._doc=e}addGlobalEventListener(e,t,i){const r=zn().getGlobalEventTarget(this._doc,e);if(!r)throw new Error(`Unsupported event target ${r} for event ${t}`);return this.addEventListener(r,t,i)}}let SC=(()=>{class n{constructor(){this._stylesSet=new Set}addStyles(t){const i=new Set;t.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(t){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),Mo=(()=>{class n extends SC{constructor(t){super(),this._doc=t,this._hostNodes=new Map,this._hostNodes.set(t.head,[])}_addStylesToHost(t,i,r){t.forEach(s=>{const o=this._doc.createElement("style");o.textContent=s,r.push(i.appendChild(o))})}addHost(t){const i=[];this._addStylesToHost(this._stylesSet,t,i),this._hostNodes.set(t,i)}removeHost(t){const i=this._hostNodes.get(t);i&&i.forEach(AC),this._hostNodes.delete(t)}onStylesAdded(t){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(t,r,i)})}ngOnDestroy(){this._hostNodes.forEach(t=>t.forEach(AC))}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function AC(n){zn().remove(n)}const nf={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"},rf=/%COMP%/g;function $l(n,e,t){for(let i=0;i<e.length;i++){let r=e[i];Array.isArray(r)?$l(n,r,t):(r=r.replace(rf,n),t.push(r))}return t}function OC(n){return e=>{if("__ngUnwrap__"===e)return n;!1===n(e)&&(e.preventDefault(),e.returnValue=!1)}}let sf=(()=>{class n{constructor(t,i,r){this.eventManager=t,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new of(t)}createRenderer(t,i){if(!t||!i)return this.defaultRenderer;switch(i.encapsulation){case Tn.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new SF(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(t),r}case 1:case Tn.ShadowDom:return new AF(this.eventManager,this.sharedStylesHost,t,i);default:if(!this.rendererByCompId.has(i.id)){const r=$l(i.id,i.styles,[]);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(t){return new(t||n)(P(Ul),P(Mo),P(Co))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class of{constructor(e){this.eventManager=e,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(e,t){return t?document.createElementNS(nf[t]||t,e):document.createElement(e)}createComment(e){return document.createComment(e)}createText(e){return document.createTextNode(e)}appendChild(e,t){e.appendChild(t)}insertBefore(e,t,i){e&&e.insertBefore(t,i)}removeChild(e,t){e&&e.removeChild(t)}selectRootElement(e,t){let i="string"==typeof e?document.querySelector(e):e;if(!i)throw new Error(`The selector "${e}" did not match any elements`);return t||(i.textContent=""),i}parentNode(e){return e.parentNode}nextSibling(e){return e.nextSibling}setAttribute(e,t,i,r){if(r){t=r+":"+t;const s=nf[r];s?e.setAttributeNS(s,t,i):e.setAttribute(t,i)}else e.setAttribute(t,i)}removeAttribute(e,t,i){if(i){const r=nf[i];r?e.removeAttributeNS(r,t):e.removeAttribute(`${i}:${t}`)}else e.removeAttribute(t)}addClass(e,t){e.classList.add(t)}removeClass(e,t){e.classList.remove(t)}setStyle(e,t,i,r){r&($t.DashCase|$t.Important)?e.style.setProperty(t,i,r&$t.Important?"important":""):e.style[t]=i}removeStyle(e,t,i){i&$t.DashCase?e.style.removeProperty(t):e.style[t]=""}setProperty(e,t,i){e[t]=i}setValue(e,t){e.nodeValue=t}listen(e,t,i){return"string"==typeof e?this.eventManager.addGlobalEventListener(e,t,OC(i)):this.eventManager.addEventListener(e,t,OC(i))}}class SF extends of{constructor(e,t,i,r){super(e),this.component=i;const s=$l(r+"-"+i.id,i.styles,[]);t.addStyles(s),this.contentAttr="_ngcontent-%COMP%".replace(rf,r+"-"+i.id),this.hostAttr="_nghost-%COMP%".replace(rf,r+"-"+i.id)}applyToHost(e){super.setAttribute(e,this.hostAttr,"")}createElement(e,t){const i=super.createElement(e,t);return super.setAttribute(i,this.contentAttr,""),i}}class AF extends of{constructor(e,t,i,r){super(e),this.sharedStylesHost=t,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const s=$l(r.id,r.styles,[]);for(let o=0;o<s.length;o++){const a=document.createElement("style");a.textContent=s[o],this.shadowRoot.appendChild(a)}}nodeOrShadowRoot(e){return e===this.hostEl?this.shadowRoot:e}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}appendChild(e,t){return super.appendChild(this.nodeOrShadowRoot(e),t)}insertBefore(e,t,i){return super.insertBefore(this.nodeOrShadowRoot(e),t,i)}removeChild(e,t){return super.removeChild(this.nodeOrShadowRoot(e),t)}parentNode(e){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(e)))}}let IF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return!0}addEventListener(t,i,r){return t.addEventListener(i,r,!1),()=>this.removeEventListener(t,i,r)}removeEventListener(t,i,r){return t.removeEventListener(i,r)}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const kC=["alt","control","meta","shift"],OF={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},RC={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","\x90":"NumLock"},PF={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let kF=(()=>{class n extends MC{constructor(t){super(t)}supports(t){return null!=n.parseEventName(t)}addEventListener(t,i,r){const s=n.parseEventName(i),o=n.eventCallback(s.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>zn().onAndCancel(t,s.domEventName,o))}static parseEventName(t){const i=t.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const s=n._normalizeKey(i.pop());let o="";if(kC.forEach(l=>{const c=i.indexOf(l);c>-1&&(i.splice(c,1),o+=l+".")}),o+=s,0!=i.length||0===s.length)return null;const a={};return a.domEventName=r,a.fullKey=o,a}static getEventFullKey(t){let i="",r=function(n){let e=n.key;if(null==e){if(e=n.keyIdentifier,null==e)return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),3===n.location&&RC.hasOwnProperty(e)&&(e=RC[e]))}return OF[e]||e}(t);return r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),kC.forEach(s=>{s!=r&&PF[s](t)&&(i+=s+".")}),i+=r,i}static eventCallback(t,i,r){return s=>{n.getEventFullKey(s)===t&&r.runGuarded(()=>i(s))}}static _normalizeKey(t){return"esc"===t?"escape":t}}return n.\u0275fac=function(t){return new(t||n)(P(qt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const VF=Bb(Tk,"browser",[{provide:ds,useValue:CC},{provide:Tb,useValue:function(){ef.makeCurrent(),tf.init()},multi:!0},{provide:qt,useFactory:function(){return n=document,Eu=n,document;var n},deps:[]}]),BF=[{provide:jd,useValue:"root"},{provide:Vr,useFactory:function(){return new Vr},deps:[]},{provide:Hl,useClass:IF,multi:!0,deps:[qt,ze,ds]},{provide:Hl,useClass:kF,multi:!0,deps:[qt]},{provide:sf,useClass:sf,deps:[Ul,Mo,Co]},{provide:Yv,useExisting:sf},{provide:SC,useExisting:Mo},{provide:Mo,useClass:Mo,deps:[qt]},{provide:Ph,useClass:Ph,deps:[ze]},{provide:Ul,useClass:Ul,deps:[Hl,ze]},{provide:xC,useClass:CF,deps:[]}];let jF=(()=>{class n{constructor(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}static withServerTransition(t){return{ngModule:n,providers:[{provide:Co,useValue:t.appId},{provide:EC,useExisting:Co},bF]}}}return n.\u0275fac=function(t){return new(t||n)(P(n,12))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:BF,imports:[cF,Lk]}),n})();"undefined"!=typeof window&&window;const ht=void 0,XF=["sl",[["d","p"],["dop.","pop."],ht],[["d","p"],["dop.","pop."],["dopoldne","popoldne"]],[["n","p","t","s","\u010d","p","s"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."],["nedelja","ponedeljek","torek","sreda","\u010detrtek","petek","sobota"],["ned.","pon.","tor.","sre.","\u010det.","pet.","sob."]],ht,[["j","f","m","a","m","j","j","a","s","o","n","d"],["jan.","feb.","mar.","apr.","maj","jun.","jul.","avg.","sep.","okt.","nov.","dec."],["januar","februar","marec","april","maj","junij","julij","avgust","september","oktober","november","december"]],ht,[["pr. Kr.","po Kr."],ht,["pred Kristusom","po Kristusu"]],1,[6,0],["d. MM. yy","d. MMM y","dd. MMMM y","EEEE, dd. MMMM y"],["HH:mm","HH:mm:ss","HH:mm:ss z","HH:mm:ss zzzz"],["{1} {0}",ht,ht,ht],[",",".",";","%","+","\u2212","e","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0\xa0%","#,##0.00\xa0\xa4","#E0"],"EUR","\u20ac","evro",{AUD:[ht,"$"],BRL:[ht,"R$"],CAD:[ht,"$"],GBP:[ht,"\xa3"],MXN:[ht,"$"],NZD:[ht,"$"],PHP:[ht,"\u20b1"],TWD:[ht,"NT$"],XCD:[ht,"$"]},"ltr",function(n){const t=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 0===i&&t%100==1?1:0===i&&t%100==2?2:0===i&&t%100===Math.floor(t%100)&&t%100>=3&&t%100<=4||0!==i?3:5}];function j(...n){return Ye(n,Ps(n))}function gs(n,e){return V(e)?He(n,e,1):He(n,1)}function Yt(n,e){return je((t,i)=>{let r=0;t.subscribe(new Ne(i,s=>n.call(e,s,r++)&&i.next(s)))})}class LC{}class VC{}class Tt{constructor(e){this.normalizedNames=new Map,this.lazyUpdate=null,e?this.lazyInit="string"==typeof e?()=>{this.headers=new Map,e.split("\n").forEach(t=>{const i=t.indexOf(":");if(i>0){const r=t.slice(0,i),s=r.toLowerCase(),o=t.slice(i+1).trim();this.maybeSetNormalizedName(r,s),this.headers.has(s)?this.headers.get(s).push(o):this.headers.set(s,[o])}})}:()=>{this.headers=new Map,Object.keys(e).forEach(t=>{let i=e[t];const r=t.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(t,r))})}:this.headers=new Map}has(e){return this.init(),this.headers.has(e.toLowerCase())}get(e){this.init();const t=this.headers.get(e.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(e){return this.init(),this.headers.get(e.toLowerCase())||null}append(e,t){return this.clone({name:e,value:t,op:"a"})}set(e,t){return this.clone({name:e,value:t,op:"s"})}delete(e,t){return this.clone({name:e,value:t,op:"d"})}maybeSetNormalizedName(e,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,e)}init(){this.lazyInit&&(this.lazyInit instanceof Tt?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(e=>this.applyUpdate(e)),this.lazyUpdate=null))}copyFrom(e){e.init(),Array.from(e.headers.keys()).forEach(t=>{this.headers.set(t,e.headers.get(t)),this.normalizedNames.set(t,e.normalizedNames.get(t))})}clone(e){const t=new Tt;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof Tt?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([e]),t}applyUpdate(e){const t=e.name.toLowerCase();switch(e.op){case"a":case"s":let i=e.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(e.name,t);const r=("a"===e.op?this.headers.get(t):void 0)||[];r.push(...i),this.headers.set(t,r);break;case"d":const s=e.value;if(s){let o=this.headers.get(t);if(!o)return;o=o.filter(a=>-1===s.indexOf(a)),0===o.length?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,o)}else this.headers.delete(t),this.normalizedNames.delete(t)}}forEach(e){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>e(this.normalizedNames.get(t),this.headers.get(t)))}}class QF{encodeKey(e){return BC(e)}encodeValue(e){return BC(e)}decodeKey(e){return decodeURIComponent(e)}decodeValue(e){return decodeURIComponent(e)}}const tN=/%(\d[a-f0-9])/gi,nN={40:"@","3A":":",24:"$","2C":",","3B":";","2B":"+","3D":"=","3F":"?","2F":"/"};function BC(n){return encodeURIComponent(n).replace(tN,(e,t)=>{var i;return null!==(i=nN[t])&&void 0!==i?i:e})}function jC(n){return`${n}`}class Oi{constructor(e={}){if(this.updates=null,this.cloneFrom=null,this.encoder=e.encoder||new QF,e.fromString){if(e.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function(n,e){const t=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const s=r.indexOf("="),[o,a]=-1==s?[e.decodeKey(r),""]:[e.decodeKey(r.slice(0,s)),e.decodeValue(r.slice(s+1))],l=t.get(o)||[];l.push(a),t.set(o,l)}),t}(e.fromString,this.encoder)}else e.fromObject?(this.map=new Map,Object.keys(e.fromObject).forEach(t=>{const i=e.fromObject[t];this.map.set(t,Array.isArray(i)?i:[i])})):this.map=null}has(e){return this.init(),this.map.has(e)}get(e){this.init();const t=this.map.get(e);return t?t[0]:null}getAll(e){return this.init(),this.map.get(e)||null}keys(){return this.init(),Array.from(this.map.keys())}append(e,t){return this.clone({param:e,value:t,op:"a"})}appendAll(e){const t=[];return Object.keys(e).forEach(i=>{const r=e[i];Array.isArray(r)?r.forEach(s=>{t.push({param:i,value:s,op:"a"})}):t.push({param:i,value:r,op:"a"})}),this.clone(t)}set(e,t){return this.clone({param:e,value:t,op:"s"})}delete(e,t){return this.clone({param:e,value:t,op:"d"})}toString(){return this.init(),this.keys().map(e=>{const t=this.encoder.encodeKey(e);return this.map.get(e).map(i=>t+"="+this.encoder.encodeValue(i)).join("&")}).filter(e=>""!==e).join("&")}clone(e){const t=new Oi({encoder:this.encoder});return t.cloneFrom=this.cloneFrom||this,t.updates=(this.updates||[]).concat(e),t}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(e=>this.map.set(e,this.cloneFrom.map.get(e))),this.updates.forEach(e=>{switch(e.op){case"a":case"s":const t=("a"===e.op?this.map.get(e.param):void 0)||[];t.push(jC(e.value)),this.map.set(e.param,t);break;case"d":if(void 0===e.value){this.map.delete(e.param);break}{let i=this.map.get(e.param)||[];const r=i.indexOf(jC(e.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(e.param,i):this.map.delete(e.param)}}}),this.cloneFrom=this.updates=null)}}class iN{constructor(){this.map=new Map}set(e,t){return this.map.set(e,t),this}get(e){return this.map.has(e)||this.map.set(e,e.defaultValue()),this.map.get(e)}delete(e){return this.map.delete(e),this}has(e){return this.map.has(e)}keys(){return this.map.keys()}}function HC(n){return"undefined"!=typeof ArrayBuffer&&n instanceof ArrayBuffer}function UC(n){return"undefined"!=typeof Blob&&n instanceof Blob}function $C(n){return"undefined"!=typeof FormData&&n instanceof FormData}class So{constructor(e,t,i,r){let s;if(this.url=t,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=e.toUpperCase(),function(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,s=r):s=i,s&&(this.reportProgress=!!s.reportProgress,this.withCredentials=!!s.withCredentials,s.responseType&&(this.responseType=s.responseType),s.headers&&(this.headers=s.headers),s.context&&(this.context=s.context),s.params&&(this.params=s.params)),this.headers||(this.headers=new Tt),this.context||(this.context=new iN),this.params){const o=this.params.toString();if(0===o.length)this.urlWithParams=t;else{const a=t.indexOf("?");this.urlWithParams=t+(-1===a?"?":a<t.length-1?"&":"")+o}}else this.params=new Oi,this.urlWithParams=t}serializeBody(){return null===this.body?null:HC(this.body)||UC(this.body)||$C(this.body)||"undefined"!=typeof URLSearchParams&&this.body instanceof URLSearchParams||"string"==typeof this.body?this.body:this.body instanceof Oi?this.body.toString():"object"==typeof this.body||"boolean"==typeof this.body||Array.isArray(this.body)?JSON.stringify(this.body):this.body.toString()}detectContentTypeHeader(){return null===this.body||$C(this.body)?null:UC(this.body)?this.body.type||null:HC(this.body)?null:"string"==typeof this.body?"text/plain":this.body instanceof Oi?"application/x-www-form-urlencoded;charset=UTF-8":"object"==typeof this.body||"number"==typeof this.body||"boolean"==typeof this.body?"application/json":null}clone(e={}){var t;const i=e.method||this.method,r=e.url||this.url,s=e.responseType||this.responseType,o=void 0!==e.body?e.body:this.body,a=void 0!==e.withCredentials?e.withCredentials:this.withCredentials,l=void 0!==e.reportProgress?e.reportProgress:this.reportProgress;let c=e.headers||this.headers,u=e.params||this.params;const d=null!==(t=e.context)&&void 0!==t?t:this.context;return void 0!==e.setHeaders&&(c=Object.keys(e.setHeaders).reduce((h,f)=>h.set(f,e.setHeaders[f]),c)),e.setParams&&(u=Object.keys(e.setParams).reduce((h,f)=>h.set(f,e.setParams[f]),u)),new So(i,r,o,{params:u,headers:c,context:d,reportProgress:l,responseType:s,withCredentials:a})}}var qe=(()=>((qe=qe||{})[qe.Sent=0]="Sent",qe[qe.UploadProgress=1]="UploadProgress",qe[qe.ResponseHeader=2]="ResponseHeader",qe[qe.DownloadProgress=3]="DownloadProgress",qe[qe.Response=4]="Response",qe[qe.User=5]="User",qe))();class lf{constructor(e,t=200,i="OK"){this.headers=e.headers||new Tt,this.status=void 0!==e.status?e.status:t,this.statusText=e.statusText||i,this.url=e.url||null,this.ok=this.status>=200&&this.status<300}}class cf extends lf{constructor(e={}){super(e),this.type=qe.ResponseHeader}clone(e={}){return new cf({headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zl extends lf{constructor(e={}){super(e),this.type=qe.Response,this.body=void 0!==e.body?e.body:null}clone(e={}){return new zl({body:void 0!==e.body?e.body:this.body,headers:e.headers||this.headers,status:void 0!==e.status?e.status:this.status,statusText:e.statusText||this.statusText,url:e.url||this.url||void 0})}}class zC extends lf{constructor(e){super(e,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${e.url||"(unknown url)"}`:`Http failure response for ${e.url||"(unknown url)"}: ${e.status} ${e.statusText}`,this.error=e.error||null}}function uf(n,e){return{body:e,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let WC=(()=>{class n{constructor(t){this.handler=t}request(t,i,r={}){let s;if(t instanceof So)s=t;else{let l,c;l=r.headers instanceof Tt?r.headers:new Tt(r.headers),r.params&&(c=r.params instanceof Oi?r.params:new Oi({fromObject:r.params})),s=new So(t,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const o=j(s).pipe(gs(l=>this.handler.handle(l)));if(t instanceof So||"events"===r.observe)return o;const a=o.pipe(Yt(l=>l instanceof zl));switch(r.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Z(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Z(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Z(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(t,i={}){return this.request("DELETE",t,i)}get(t,i={}){return this.request("GET",t,i)}head(t,i={}){return this.request("HEAD",t,i)}jsonp(t,i){return this.request("JSONP",t,{params:(new Oi).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(t,i={}){return this.request("OPTIONS",t,i)}patch(t,i,r={}){return this.request("PATCH",t,uf(r,i))}post(t,i,r={}){return this.request("POST",t,uf(r,i))}put(t,i,r={}){return this.request("PUT",t,uf(r,i))}}return n.\u0275fac=function(t){return new(t||n)(P(LC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class GC{constructor(e,t){this.next=e,this.interceptor=t}handle(e){return this.interceptor.intercept(e,this.next)}}const qC=new z("HTTP_INTERCEPTORS");let oN=(()=>{class n{intercept(t,i){return i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const aN=/^\)\]\}',?\n/;let YC=(()=>{class n{constructor(t){this.xhrFactory=t}handle(t){if("JSONP"===t.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new fe(i=>{const r=this.xhrFactory.build();if(r.open(t.method,t.urlWithParams),t.withCredentials&&(r.withCredentials=!0),t.headers.forEach((f,p)=>r.setRequestHeader(f,p.join(","))),t.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!t.headers.has("Content-Type")){const f=t.detectContentTypeHeader();null!==f&&r.setRequestHeader("Content-Type",f)}if(t.responseType){const f=t.responseType.toLowerCase();r.responseType="json"!==f?f:"text"}const s=t.serializeBody();let o=null;const a=()=>{if(null!==o)return o;const f=1223===r.status?204:r.status,p=r.statusText||"OK",g=new Tt(r.getAllResponseHeaders()),_=function(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||t.url;return o=new cf({headers:g,status:f,statusText:p,url:_}),o},l=()=>{let{headers:f,status:p,statusText:g,url:_}=a(),v=null;204!==p&&(v=void 0===r.response?r.responseText:r.response),0===p&&(p=v?200:0);let b=p>=200&&p<300;if("json"===t.responseType&&"string"==typeof v){const D=v;v=v.replace(aN,"");try{v=""!==v?JSON.parse(v):null}catch(C){v=D,b&&(b=!1,v={error:C,text:v})}}b?(i.next(new zl({body:v,headers:f,status:p,statusText:g,url:_||void 0})),i.complete()):i.error(new zC({error:v,headers:f,status:p,statusText:g,url:_||void 0}))},c=f=>{const{url:p}=a(),g=new zC({error:f,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(g)};let u=!1;const d=f=>{u||(i.next(a()),u=!0);let p={type:qe.DownloadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),"text"===t.responseType&&!!r.responseText&&(p.partialText=r.responseText),i.next(p)},h=f=>{let p={type:qe.UploadProgress,loaded:f.loaded};f.lengthComputable&&(p.total=f.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),t.reportProgress&&(r.addEventListener("progress",d),null!==s&&r.upload&&r.upload.addEventListener("progress",h)),r.send(s),i.next({type:qe.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),t.reportProgress&&(r.removeEventListener("progress",d),null!==s&&r.upload&&r.upload.removeEventListener("progress",h)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(t){return new(t||n)(P(xC))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const df=new z("XSRF_COOKIE_NAME"),hf=new z("XSRF_HEADER_NAME");class KC{}let cN=(()=>{class n{constructor(t,i,r){this.doc=t,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const t=this.doc.cookie||"";return t!==this.lastCookieString&&(this.parseCount++,this.lastToken=mC(t,this.cookieName),this.lastCookieString=t),this.lastToken}}return n.\u0275fac=function(t){return new(t||n)(P(qt),P(ds),P(df))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ff=(()=>{class n{constructor(t,i){this.tokenService=t,this.headerName=i}intercept(t,i){const r=t.url.toLowerCase();if("GET"===t.method||"HEAD"===t.method||r.startsWith("http://")||r.startsWith("https://"))return i.handle(t);const s=this.tokenService.getToken();return null!==s&&!t.headers.has(this.headerName)&&(t=t.clone({headers:t.headers.set(this.headerName,s)})),i.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(KC),P(hf))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),uN=(()=>{class n{constructor(t,i){this.backend=t,this.injector=i,this.chain=null}handle(t){if(null===this.chain){const i=this.injector.get(qC,[]);this.chain=i.reduceRight((r,s)=>new GC(r,s),this.backend)}return this.chain.handle(t)}}return n.\u0275fac=function(t){return new(t||n)(P(VC),P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),dN=(()=>{class n{static disable(){return{ngModule:n,providers:[{provide:ff,useClass:oN}]}}static withOptions(t={}){return{ngModule:n,providers:[t.cookieName?{provide:df,useValue:t.cookieName}:[],t.headerName?{provide:hf,useValue:t.headerName}:[]]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[ff,{provide:qC,useExisting:ff,multi:!0},{provide:KC,useClass:cN},{provide:df,useValue:"XSRF-TOKEN"},{provide:hf,useValue:"X-XSRF-TOKEN"}]}),n})(),hN=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[WC,{provide:LC,useClass:uN},YC,{provide:VC,useExisting:YC}],imports:[[dN.withOptions({cookieName:"XSRF-TOKEN",headerName:"X-XSRF-TOKEN"})]]}),n})();const{isArray:fN}=Array,{getPrototypeOf:pN,prototype:gN,keys:mN}=Object;function JC(n){if(1===n.length){const e=n[0];if(fN(e))return{args:e,keys:null};if(function(n){return n&&"object"==typeof n&&pN(n)===gN}(e)){const t=mN(e);return{args:t.map(i=>e[i]),keys:t}}}return{args:n,keys:null}}const{isArray:_N}=Array;function pf(n){return Z(e=>function(n,e){return _N(e)?n(...e):n(e)}(n,e))}function ZC(n,e){return n.reduce((t,i,r)=>(t[i]=e[r],t),{})}let XC=(()=>{class n{constructor(t,i){this._renderer=t,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(t,i){this._renderer.setProperty(this._elementRef.nativeElement,t,i)}registerOnTouched(t){this.onTouched=t}registerOnChange(t){this.onChange=t}setDisabledState(t){this.setProperty("disabled",t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt))},n.\u0275dir=N({type:n}),n})(),er=(()=>{class n extends XC{}return n.\u0275fac=function(){let e;return function(i){return(e||(e=function(n){return Ci(()=>{const e=n.prototype.constructor,t=e[ei]||Hu(e),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const s=r[ei]||Hu(r);if(s&&s!==t)return s;r=Object.getPrototypeOf(r)}return s=>new s})}(n)))(i||n)}}(),n.\u0275dir=N({type:n,features:[Ce]}),n})();const Wn=new z("NgValueAccessor"),DN={provide:Wn,useExisting:ve(()=>ms),multi:!0},xN=new z("CompositionEventMode");let ms=(()=>{class n extends XC{constructor(t,i,r){super(t,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function(){const n=zn()?zn().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(t){this.setProperty("value",null==t?"":t)}_handleInput(t){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(t)}_compositionStart(){this._composing=!0}_compositionEnd(t){this._composing=!1,this._compositionMode&&this.onChange(t)}}return n.\u0275fac=function(t){return new(t||n)(x(si),x(Gt),x(xN,8))},n.\u0275dir=N({type:n,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(t,i){1&t&&q("input",function(s){return i._handleInput(s.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(s){return i._compositionEnd(s.target.value)})},features:[Se([DN]),Ce]}),n})();const ft=new z("NgValidators"),ki=new z("NgAsyncValidators");function cD(n){return null!=n}function uD(n){const e=lo(n)?Ye(n):n;return Qd(e),e}function dD(n){let e={};return n.forEach(t=>{e=null!=t?Object.assign(Object.assign({},e),t):e}),0===Object.keys(e).length?null:e}function hD(n,e){return e.map(t=>t(n))}function fD(n){return n.map(e=>function(n){return!n.validate}(e)?e:t=>e.validate(t))}function gf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return dD(hD(t,e))}}(fD(n)):null}function mf(n){return null!=n?function(n){if(!n)return null;const e=n.filter(cD);return 0==e.length?null:function(t){return function(...n){const e=mg(n),{args:t,keys:i}=JC(n),r=new fe(s=>{const{length:o}=t;if(!o)return void s.complete();const a=new Array(o);let l=o,c=o;for(let u=0;u<o;u++){let d=!1;Zt(t[u]).subscribe(new Ne(s,h=>{d||(d=!0,c--),a[u]=h},()=>l--,void 0,()=>{(!l||!d)&&(c||s.next(i?ZC(i,a):a),s.complete())}))}});return e?r.pipe(pf(e)):r}(hD(t,e).map(uD)).pipe(Z(dD))}}(fD(n)):null}function mD(n,e){return null===n?[e]:Array.isArray(n)?[...n,e]:[n,e]}function yf(n){return n?Array.isArray(n)?n:[n]:[]}function Wl(n,e){return Array.isArray(n)?n.includes(e):n===e}function vD(n,e){const t=yf(e);return yf(n).forEach(r=>{Wl(t,r)||t.push(r)}),t}function bD(n,e){return yf(e).filter(t=>!Wl(n,t))}class CD{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(e){this._rawValidators=e||[],this._composedValidatorFn=gf(this._rawValidators)}_setAsyncValidators(e){this._rawAsyncValidators=e||[],this._composedAsyncValidatorFn=mf(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(e){this._onDestroyCallbacks.push(e)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(e=>e()),this._onDestroyCallbacks=[]}reset(e){this.control&&this.control.reset(e)}hasError(e,t){return!!this.control&&this.control.hasError(e,t)}getError(e,t){return this.control?this.control.getError(e,t):null}}class Ri extends CD{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Et extends CD{get formDirective(){return null}get path(){return null}}class DD{constructor(e){this._cd=e}is(e){var t,i,r;return"submitted"===e?!!(null===(t=this._cd)||void 0===t?void 0:t.submitted):!!(null===(r=null===(i=this._cd)||void 0===i?void 0:i.control)||void 0===r?void 0:r[e])}}let Gl=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Ri,2))},n.\u0275dir=N({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))},features:[Ce]}),n})(),Io=(()=>{class n extends DD{constructor(t){super(t)}}return n.\u0275fac=function(t){return new(t||n)(x(Et,10))},n.\u0275dir=N({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(t,i){2&t&&pl("ng-untouched",i.is("untouched"))("ng-touched",i.is("touched"))("ng-pristine",i.is("pristine"))("ng-dirty",i.is("dirty"))("ng-valid",i.is("valid"))("ng-invalid",i.is("invalid"))("ng-pending",i.is("pending"))("ng-submitted",i.is("submitted"))},features:[Ce]}),n})();function To(n,e){bf(n,e),e.valueAccessor.writeValue(n.value),function(n,e){e.valueAccessor.registerOnChange(t=>{n._pendingValue=t,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&wD(n,e)})}(n,e),function(n,e){const t=(i,r)=>{e.valueAccessor.writeValue(i),r&&e.viewToModelUpdate(i)};n.registerOnChange(t),e._registerOnDestroy(()=>{n._unregisterOnChange(t)})}(n,e),function(n,e){e.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&wD(n,e),"submit"!==n.updateOn&&n.markAsTouched()})}(n,e),function(n,e){if(e.valueAccessor.setDisabledState){const t=i=>{e.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(t),e._registerOnDestroy(()=>{n._unregisterOnDisabledChange(t)})}}(n,e)}function Jl(n,e){n.forEach(t=>{t.registerOnValidatorChange&&t.registerOnValidatorChange(e)})}function bf(n,e){const t=function(n){return n._rawValidators}(n);null!==e.validator?n.setValidators(mD(t,e.validator)):"function"==typeof t&&n.setValidators([t]);const i=function(n){return n._rawAsyncValidators}(n);null!==e.asyncValidator?n.setAsyncValidators(mD(i,e.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();Jl(e._rawValidators,r),Jl(e._rawAsyncValidators,r)}function wD(n,e){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),e.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function Xl(n,e){const t=n.indexOf(e);t>-1&&n.splice(t,1)}const Oo="VALID",Ql="INVALID",ys="PENDING",Po="DISABLED";function wf(n){return(Ef(n)?n.validators:n)||null}function MD(n){return Array.isArray(n)?gf(n):n||null}function xf(n,e){return(Ef(e)?e.asyncValidators:n)||null}function SD(n){return Array.isArray(n)?mf(n):n||null}function Ef(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Mf{constructor(e,t){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._rawValidators=e,this._rawAsyncValidators=t,this._composedValidatorFn=MD(this._rawValidators),this._composedAsyncValidatorFn=SD(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn}set validator(e){this._rawValidators=this._composedValidatorFn=e}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(e){this._rawAsyncValidators=this._composedAsyncValidatorFn=e}get parent(){return this._parent}get valid(){return this.status===Oo}get invalid(){return this.status===Ql}get pending(){return this.status==ys}get disabled(){return this.status===Po}get enabled(){return this.status!==Po}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(e){this._rawValidators=e,this._composedValidatorFn=MD(e)}setAsyncValidators(e){this._rawAsyncValidators=e,this._composedAsyncValidatorFn=SD(e)}addValidators(e){this.setValidators(vD(e,this._rawValidators))}addAsyncValidators(e){this.setAsyncValidators(vD(e,this._rawAsyncValidators))}removeValidators(e){this.setValidators(bD(e,this._rawValidators))}removeAsyncValidators(e){this.setAsyncValidators(bD(e,this._rawAsyncValidators))}hasValidator(e){return Wl(this._rawValidators,e)}hasAsyncValidator(e){return Wl(this._rawAsyncValidators,e)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(e={}){this.touched=!0,this._parent&&!e.onlySelf&&this._parent.markAsTouched(e)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(e=>e.markAllAsTouched())}markAsUntouched(e={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(t=>{t.markAsUntouched({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}markAsDirty(e={}){this.pristine=!1,this._parent&&!e.onlySelf&&this._parent.markAsDirty(e)}markAsPristine(e={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(t=>{t.markAsPristine({onlySelf:!0})}),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}markAsPending(e={}){this.status=ys,!1!==e.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!e.onlySelf&&this._parent.markAsPending(e)}disable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Po,this.errors=null,this._forEachChild(i=>{i.disable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this._updateValue(),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!0))}enable(e={}){const t=this._parentMarkedDirty(e.onlySelf);this.status=Oo,this._forEachChild(i=>{i.enable(Object.assign(Object.assign({},e),{onlySelf:!0}))}),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent}),this._updateAncestors(Object.assign(Object.assign({},e),{skipPristineCheck:t})),this._onDisabledChange.forEach(i=>i(!1))}_updateAncestors(e){this._parent&&!e.onlySelf&&(this._parent.updateValueAndValidity(e),e.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(e){this._parent=e}updateValueAndValidity(e={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===Oo||this.status===ys)&&this._runAsyncValidator(e.emitEvent)),!1!==e.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!e.onlySelf&&this._parent.updateValueAndValidity(e)}_updateTreeValidity(e={emitEvent:!0}){this._forEachChild(t=>t._updateTreeValidity(e)),this.updateValueAndValidity({onlySelf:!0,emitEvent:e.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Po:Oo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(e){if(this.asyncValidator){this.status=ys,this._hasOwnPendingAsyncValidator=!0;const t=uD(this.asyncValidator(this));this._asyncValidationSubscription=t.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:e})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(e,t={}){this.errors=e,this._updateControlsErrors(!1!==t.emitEvent)}get(e){return function(n,e,t){if(null==e||(Array.isArray(e)||(e=e.split(".")),Array.isArray(e)&&0===e.length))return null;let i=n;return e.forEach(r=>{i=i instanceof Sf?i.controls.hasOwnProperty(r)?i.controls[r]:null:i instanceof VN&&i.at(r)||null}),i}(this,e)}getError(e,t){const i=t?this.get(t):this;return i&&i.errors?i.errors[e]:null}hasError(e,t){return!!this.getError(e,t)}get root(){let e=this;for(;e._parent;)e=e._parent;return e}_updateControlsErrors(e){this.status=this._calculateStatus(),e&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(e)}_initObservables(){this.valueChanges=new Re,this.statusChanges=new Re}_calculateStatus(){return this._allControlsDisabled()?Po:this.errors?Ql:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(ys)?ys:this._anyControlsHaveStatus(Ql)?Ql:Oo}_anyControlsHaveStatus(e){return this._anyControls(t=>t.status===e)}_anyControlsDirty(){return this._anyControls(e=>e.dirty)}_anyControlsTouched(){return this._anyControls(e=>e.touched)}_updatePristine(e={}){this.pristine=!this._anyControlsDirty(),this._parent&&!e.onlySelf&&this._parent._updatePristine(e)}_updateTouched(e={}){this.touched=this._anyControlsTouched(),this._parent&&!e.onlySelf&&this._parent._updateTouched(e)}_isBoxedValue(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}_registerOnCollectionChange(e){this._onCollectionChange=e}_setUpdateStrategy(e){Ef(e)&&null!=e.updateOn&&(this._updateOn=e.updateOn)}_parentMarkedDirty(e){return!e&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}}class ec extends Mf{constructor(e=null,t,i){super(wf(t),xf(i,t)),this._onChange=[],this._pendingChange=!1,this._applyFormState(e),this._setUpdateStrategy(t),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}setValue(e,t={}){this.value=this._pendingValue=e,this._onChange.length&&!1!==t.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==t.emitViewToModelChange)),this.updateValueAndValidity(t)}patchValue(e,t={}){this.setValue(e,t)}reset(e=null,t={}){this._applyFormState(e),this.markAsPristine(t),this.markAsUntouched(t),this.setValue(this.value,t),this._pendingChange=!1}_updateValue(){}_anyControls(e){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(e){this._onChange.push(e)}_unregisterOnChange(e){Xl(this._onChange,e)}registerOnDisabledChange(e){this._onDisabledChange.push(e)}_unregisterOnDisabledChange(e){Xl(this._onDisabledChange,e)}_forEachChild(e){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(e){this._isBoxedValue(e)?(this.value=this._pendingValue=e.value,e.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=e}}class Sf extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(e,t){return this.controls[e]?this.controls[e]:(this.controls[e]=t,t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange),t)}addControl(e,t,i={}){this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),delete this.controls[e],t&&this.registerControl(e,t),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(e){return this.controls.hasOwnProperty(e)&&this.controls[e].enabled}setValue(e,t={}){this._checkAllValuesPresent(e),Object.keys(e).forEach(i=>{this._throwIfControlMissing(i),this.controls[i].setValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(Object.keys(e).forEach(i=>{this.controls[i]&&this.controls[i].patchValue(e[i],{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e={},t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this._reduceChildren({},(e,t,i)=>(e[i]=t instanceof ec?t.value:t.getRawValue(),e))}_syncPendingControls(){let e=this._reduceChildren(!1,(t,i)=>!!i._syncPendingControls()||t);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!Object.keys(this.controls).length)throw new Error("\n        There are no form controls registered with this group yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.controls[e])throw new Error(`Cannot find form control with name: ${e}.`)}_forEachChild(e){Object.keys(this.controls).forEach(t=>{const i=this.controls[t];i&&e(i,t)})}_setUpControls(){this._forEachChild(e=>{e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(e){for(const t of Object.keys(this.controls)){const i=this.controls[t];if(this.contains(t)&&e(i))return!0}return!1}_reduceValue(){return this._reduceChildren({},(e,t,i)=>((t.enabled||this.disabled)&&(e[i]=t.value),e))}_reduceChildren(e,t){let i=e;return this._forEachChild((r,s)=>{i=t(i,r,s)}),i}_allControlsDisabled(){for(const e of Object.keys(this.controls))if(this.controls[e].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control with name: '${i}'.`)})}}class VN extends Mf{constructor(e,t,i){super(wf(t),xf(i,t)),this.controls=e,this._initObservables(),this._setUpdateStrategy(t),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}at(e){return this.controls[e]}push(e,t={}){this.controls.push(e),this._registerControl(e),this.updateValueAndValidity({emitEvent:t.emitEvent}),this._onCollectionChange()}insert(e,t,i={}){this.controls.splice(e,0,t),this._registerControl(t),this.updateValueAndValidity({emitEvent:i.emitEvent})}removeAt(e,t={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),this.updateValueAndValidity({emitEvent:t.emitEvent})}setControl(e,t,i={}){this.controls[e]&&this.controls[e]._registerOnCollectionChange(()=>{}),this.controls.splice(e,1),t&&(this.controls.splice(e,0,t),this._registerControl(t)),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}get length(){return this.controls.length}setValue(e,t={}){this._checkAllValuesPresent(e),e.forEach((i,r)=>{this._throwIfControlMissing(r),this.at(r).setValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t)}patchValue(e,t={}){null!=e&&(e.forEach((i,r)=>{this.at(r)&&this.at(r).patchValue(i,{onlySelf:!0,emitEvent:t.emitEvent})}),this.updateValueAndValidity(t))}reset(e=[],t={}){this._forEachChild((i,r)=>{i.reset(e[r],{onlySelf:!0,emitEvent:t.emitEvent})}),this._updatePristine(t),this._updateTouched(t),this.updateValueAndValidity(t)}getRawValue(){return this.controls.map(e=>e instanceof ec?e.value:e.getRawValue())}clear(e={}){this.controls.length<1||(this._forEachChild(t=>t._registerOnCollectionChange(()=>{})),this.controls.splice(0),this.updateValueAndValidity({emitEvent:e.emitEvent}))}_syncPendingControls(){let e=this.controls.reduce((t,i)=>!!i._syncPendingControls()||t,!1);return e&&this.updateValueAndValidity({onlySelf:!0}),e}_throwIfControlMissing(e){if(!this.controls.length)throw new Error("\n        There are no form controls registered with this array yet. If you're using ngModel,\n        you may want to check next tick (e.g. use setTimeout).\n      ");if(!this.at(e))throw new Error(`Cannot find form control at index ${e}`)}_forEachChild(e){this.controls.forEach((t,i)=>{e(t,i)})}_updateValue(){this.value=this.controls.filter(e=>e.enabled||this.disabled).map(e=>e.value)}_anyControls(e){return this.controls.some(t=>t.enabled&&e(t))}_setUpControls(){this._forEachChild(e=>this._registerControl(e))}_checkAllValuesPresent(e){this._forEachChild((t,i)=>{if(void 0===e[i])throw new Error(`Must supply a value for form control at index: ${i}.`)})}_allControlsDisabled(){for(const e of this.controls)if(e.enabled)return!1;return this.controls.length>0||this.disabled}_registerControl(e){e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange)}}const BN={provide:Et,useExisting:ve(()=>tr)},ko=(()=>Promise.resolve(null))();let tr=(()=>{class n extends Et{constructor(t,i){super(),this.submitted=!1,this._directives=[],this.ngSubmit=new Re,this.form=new Sf({},gf(t),mf(i))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(t){ko.then(()=>{const i=this._findContainer(t.path);t.control=i.registerControl(t.name,t.control),To(t.control,t),t.control.updateValueAndValidity({emitEvent:!1}),this._directives.push(t)})}getControl(t){return this.form.get(t.path)}removeControl(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name),Xl(this._directives,t)})}addFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path),r=new Sf({});(function(n,e){bf(n,e)})(r,t),i.registerControl(t.name,r),r.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(t){ko.then(()=>{const i=this._findContainer(t.path);i&&i.removeControl(t.name)})}getFormGroup(t){return this.form.get(t.path)}updateModel(t,i){ko.then(()=>{this.form.get(t.path).setValue(i)})}setValue(t){this.control.setValue(t)}onSubmit(t){return this.submitted=!0,function(n,e){n._syncPendingControls(),e.forEach(t=>{const i=t.control;"submit"===i.updateOn&&i._pendingChange&&(t.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(t),!1}onReset(){this.resetForm()}resetForm(t){this.form.reset(t),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(t){return t.pop(),t.length?this.form.get(t):this.form}}return n.\u0275fac=function(t){return new(t||n)(x(ft,10),x(ki,10))},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(t,i){1&t&&q("submit",function(s){return i.onSubmit(s)})("reset",function(){return i.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[Se([BN]),Ce]}),n})();const HN={provide:Ri,useExisting:ve(()=>Ro)},TD=(()=>Promise.resolve(null))();let Ro=(()=>{class n extends Ri{constructor(t,i,r,s){super(),this.control=new ec,this._registered=!1,this.update=new Re,this._parent=t,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=function(n,e){if(!e)return null;let t,i,r;return Array.isArray(e),e.forEach(s=>{s.constructor===ms?t=s:function(n){return Object.getPrototypeOf(n.constructor)===er}(s)?i=s:r=s}),r||i||t||null}(0,s)}ngOnChanges(t){this._checkForErrors(),this._registered||this._setUpControl(),"isDisabled"in t&&this._updateDisabled(t),function(n,e){if(!n.hasOwnProperty("model"))return!1;const t=n.model;return!!t.isFirstChange()||!Object.is(e,t.currentValue)}(t,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._parent?function(n,e){return[...e.path,n]}(this.name,this._parent):[this.name]}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(t){this.viewModel=t,this.update.emit(t)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){To(this.control,this),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(t){TD.then(()=>{this.control.setValue(t,{emitViewToModelChange:!1})})}_updateDisabled(t){const i=t.isDisabled.currentValue,r=""===i||i&&"false"!==i;TD.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable()})}}return n.\u0275fac=function(t){return new(t||n)(x(Et,9),x(ft,10),x(ki,10),x(Wn,10))},n.\u0275dir=N({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[Se([HN]),Ce,Bt]}),n})(),Fo=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),PD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();const Af=new z("NgModelWithFormControlWarning"),sL={provide:ft,useExisting:ve(()=>_s),multi:!0};let _s=(()=>{class n{constructor(){this._required=!1}get required(){return this._required}set required(t){this._required=null!=t&&!1!==t&&"false"!=`${t}`,this._onChange&&this._onChange()}validate(t){return this.required?function(n){return function(n){return null==n||0===n.length}(n.value)?{required:!0}:null}(t):null}registerOnValidatorChange(t){this._onChange=t}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275dir=N({type:n,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(t,i){2&t&&jn("required",i.required?"":null)},inputs:{required:"required"},features:[Se([sL])]}),n})(),KD=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[PD]]}),n})(),dL=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})(),hL=(()=>{class n{static withConfig(t){return{ngModule:n,providers:[{provide:Af,useValue:t.warnOnNgModelWithFormControl}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[KD]}),n})();class Mn extends Jt{constructor(e){super(),this._value=e}get value(){return this.getValue()}_subscribe(e){const t=super._subscribe(e);return!t.closed&&e.next(this._value),t}getValue(){const{hasError:e,thrownError:t,_value:i}=this;if(e)throw t;return this._throwIfClosed(),i}next(e){super.next(this._value=e)}}function JD(n,e,t){n?Zn(t,n,e):e()}const nc=nt(n=>function(){n(this),this.name="EmptyError",this.message="no elements in sequence"});function No(...n){return Os(1)(Ye(n,Ps(n)))}function ic(n){return new fe(e=>{Zt(n()).subscribe(e)})}function ZD(){return je((n,e)=>{let t=null;n._refCount++;const i=new Ne(e,void 0,void 0,void 0,()=>{if(!n||n._refCount<=0||0<--n._refCount)return void(t=null);const r=n._connection,s=t;t=null,r&&(!s||r===s)&&r.unsubscribe(),e.unsubscribe()});n.subscribe(i),i.closed||(t=n.connect())})}class XD extends fe{constructor(e,t){super(),this.source=e,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,ng(e)&&(this.lift=e.lift)}_subscribe(e){return this.getSubject().subscribe(e)}getSubject(){const e=this._subject;return(!e||e.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:e}=this;this._subject=this._connection=null,null==e||e.unsubscribe()}connect(){let e=this._connection;if(!e){e=this._connection=new Rt;const t=this.getSubject();e.add(this.source.subscribe(new Ne(t,void 0,()=>{this._teardown(),t.complete()},i=>{this._teardown(),t.error(i)},()=>this._teardown()))),e.closed&&(this._connection=null,e=Rt.EMPTY)}return e}refCount(){return ZD()(this)}}function Sn(n,e){return je((t,i)=>{let r=null,s=0,o=!1;const a=()=>o&&!r&&i.complete();t.subscribe(new Ne(i,l=>{null==r||r.unsubscribe();let c=0;const u=s++;Zt(n(l,u)).subscribe(r=new Ne(i,d=>i.next(e?e(l,d,u,c++):d),()=>{r=null,a()}))},()=>{o=!0,a()}))})}function yL(n,e,t,i,r){return(s,o)=>{let a=t,l=e,c=0;s.subscribe(new Ne(o,u=>{const d=c++;l=a?n(l,u,d):(a=!0,u),i&&o.next(l)},r&&(()=>{a&&o.next(l),o.complete()})))}}function QD(n,e){return je(yL(n,e,arguments.length>=2,!0))}function st(n){return je((e,t)=>{let s,i=null,r=!1;i=e.subscribe(new Ne(t,void 0,void 0,o=>{s=Zt(n(o,st(n)(e))),i?(i.unsubscribe(),i=null,s.subscribe(t)):r=!0})),r&&(i.unsubscribe(),i=null,s.subscribe(t))})}function Rf(n){return n<=0?()=>Xn:je((e,t)=>{let i=[];e.subscribe(new Ne(t,r=>{i.push(r),n<i.length&&i.shift()},()=>{for(const r of i)t.next(r);t.complete()},void 0,()=>{i=null}))})}function e0(n=_L){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>i?t.complete():t.error(n())))})}function _L(){return new nc}function t0(n){return je((e,t)=>{let i=!1;e.subscribe(new Ne(t,r=>{i=!0,t.next(r)},()=>{i||t.next(n),t.complete()}))})}function vs(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Xt(1),t?t0(e):e0(()=>new nc))}function Ot(n,e,t){const i=V(n)||e||t?{next:n,error:e,complete:t}:n;return i?je((r,s)=>{var o;null===(o=i.subscribe)||void 0===o||o.call(i);let a=!0;r.subscribe(new Ne(s,l=>{var c;null===(c=i.next)||void 0===c||c.call(i,l),s.next(l)},()=>{var l;a=!1,null===(l=i.complete)||void 0===l||l.call(i),s.complete()},l=>{var c;a=!1,null===(c=i.error)||void 0===c||c.call(i,l),s.error(l)},()=>{var l,c;a&&(null===(l=i.unsubscribe)||void 0===l||l.call(i)),null===(c=i.finalize)||void 0===c||c.call(i)}))}):vi}class ui{constructor(e,t){this.id=e,this.url=t}}class Ff extends ui{constructor(e,t,i="imperative",r=null){super(e,t),this.navigationTrigger=i,this.restoredState=r}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Lo extends ui{constructor(e,t,i){super(e,t),this.urlAfterRedirects=i}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class n0 extends ui{constructor(e,t,i){super(e,t),this.reason=i}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class CL extends ui{constructor(e,t,i){super(e,t),this.error=i}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class DL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class wL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class xL extends ui{constructor(e,t,i,r,s){super(e,t),this.urlAfterRedirects=i,this.state=r,this.shouldActivate=s}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class EL extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class ML extends ui{constructor(e,t,i,r){super(e,t),this.urlAfterRedirects=i,this.state=r}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class r0{constructor(e){this.route=e}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class s0{constructor(e){this.route=e}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class SL{constructor(e){this.snapshot=e}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class AL{constructor(e){this.snapshot=e}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class IL{constructor(e){this.snapshot=e}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class TL{constructor(e){this.snapshot=e}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class o0{constructor(e,t,i){this.routerEvent=e,this.position=t,this.anchor=i}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}const ee="primary";class OL{constructor(e){this.params=e||{}}has(e){return Object.prototype.hasOwnProperty.call(this.params,e)}get(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t[0]:t}return null}getAll(e){if(this.has(e)){const t=this.params[e];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}}function bs(n){return new OL(n)}const a0="ngNavigationCancelingError";function Nf(n){const e=Error("NavigationCancelingError: "+n);return e[a0]=!0,e}function kL(n,e,t){const i=t.path.split("/");if(i.length>n.length||"full"===t.pathMatch&&(e.hasChildren()||i.length<n.length))return null;const r={};for(let s=0;s<i.length;s++){const o=i[s],a=n[s];if(o.startsWith(":"))r[o.substring(1)]=a;else if(o!==a.path)return null}return{consumed:n.slice(0,i.length),posParams:r}}function Gn(n,e){const t=n?Object.keys(n):void 0,i=e?Object.keys(e):void 0;if(!t||!i||t.length!=i.length)return!1;let r;for(let s=0;s<t.length;s++)if(r=t[s],!l0(n[r],e[r]))return!1;return!0}function l0(n,e){if(Array.isArray(n)&&Array.isArray(e)){if(n.length!==e.length)return!1;const t=[...n].sort(),i=[...e].sort();return t.every((r,s)=>i[s]===r)}return n===e}function c0(n){return Array.prototype.concat.apply([],n)}function u0(n){return n.length>0?n[n.length-1]:null}function at(n,e){for(const t in n)n.hasOwnProperty(t)&&e(n[t],t)}function qn(n){return Qd(n)?n:lo(n)?Ye(Promise.resolve(n)):j(n)}const NL={exact:function f0(n,e,t){if(!ir(n.segments,e.segments)||!rc(n.segments,e.segments,t)||n.numberOfChildren!==e.numberOfChildren)return!1;for(const i in e.children)if(!n.children[i]||!f0(n.children[i],e.children[i],t))return!1;return!0},subset:p0},d0={exact:function(n,e){return Gn(n,e)},subset:function(n,e){return Object.keys(e).length<=Object.keys(n).length&&Object.keys(e).every(t=>l0(n[t],e[t]))},ignored:()=>!0};function h0(n,e,t){return NL[t.paths](n.root,e.root,t.matrixParams)&&d0[t.queryParams](n.queryParams,e.queryParams)&&!("exact"===t.fragment&&n.fragment!==e.fragment)}function p0(n,e,t){return g0(n,e,e.segments,t)}function g0(n,e,t,i){if(n.segments.length>t.length){const r=n.segments.slice(0,t.length);return!(!ir(r,t)||e.hasChildren()||!rc(r,t,i))}if(n.segments.length===t.length){if(!ir(n.segments,t)||!rc(n.segments,t,i))return!1;for(const r in e.children)if(!n.children[r]||!p0(n.children[r],e.children[r],i))return!1;return!0}{const r=t.slice(0,n.segments.length),s=t.slice(n.segments.length);return!!(ir(n.segments,r)&&rc(n.segments,r,i)&&n.children[ee])&&g0(n.children[ee],e,s,i)}}function rc(n,e,t){return e.every((i,r)=>d0[t](n[r].parameters,i.parameters))}class nr{constructor(e,t,i){this.root=e,this.queryParams=t,this.fragment=i}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return HL.serialize(this)}}class se{constructor(e,t){this.segments=e,this.children=t,this.parent=null,at(t,(i,r)=>i.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return sc(this)}}class Vo{constructor(e,t){this.path=e,this.parameters=t}get parameterMap(){return this._parameterMap||(this._parameterMap=bs(this.parameters)),this._parameterMap}toString(){return b0(this)}}function ir(n,e){return n.length===e.length&&n.every((t,i)=>t.path===e[i].path)}class m0{}class y0{parse(e){const t=new JL(e);return new nr(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(e){const t=`/${Bo(e.root,!0)}`,i=function(n){const e=Object.keys(n).map(t=>{const i=n[t];return Array.isArray(i)?i.map(r=>`${oc(t)}=${oc(r)}`).join("&"):`${oc(t)}=${oc(i)}`}).filter(t=>!!t);return e.length?`?${e.join("&")}`:""}(e.queryParams);var n;return`${t}${i}${"string"==typeof e.fragment?`#${n=e.fragment,encodeURI(n)}`:""}`}}const HL=new y0;function sc(n){return n.segments.map(e=>b0(e)).join("/")}function Bo(n,e){if(!n.hasChildren())return sc(n);if(e){const t=n.children[ee]?Bo(n.children[ee],!1):"",i=[];return at(n.children,(r,s)=>{s!==ee&&i.push(`${s}:${Bo(r,!1)}`)}),i.length>0?`${t}(${i.join("//")})`:t}{const t=function(n,e){let t=[];return at(n.children,(i,r)=>{r===ee&&(t=t.concat(e(i,r)))}),at(n.children,(i,r)=>{r!==ee&&(t=t.concat(e(i,r)))}),t}(n,(i,r)=>r===ee?[Bo(n.children[ee],!1)]:[`${r}:${Bo(i,!1)}`]);return 1===Object.keys(n.children).length&&null!=n.children[ee]?`${sc(n)}/${t[0]}`:`${sc(n)}/(${t.join("//")})`}}function _0(n){return encodeURIComponent(n).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function oc(n){return _0(n).replace(/%3B/gi,";")}function Lf(n){return _0(n).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ac(n){return decodeURIComponent(n)}function v0(n){return ac(n.replace(/\+/g,"%20"))}function b0(n){return`${Lf(n.path)}${function(n){return Object.keys(n).map(e=>`;${Lf(e)}=${Lf(n[e])}`).join("")}(n.parameters)}`}const WL=/^[^\/()?;=#]+/;function lc(n){const e=n.match(WL);return e?e[0]:""}const GL=/^[^=?&#]+/,YL=/^[^&#]+/;class JL{constructor(e){this.url=e,this.remaining=e}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new se([],{}):new se([],this.parseChildren())}parseQueryParams(){const e={};if(this.consumeOptional("?"))do{this.parseQueryParam(e)}while(this.consumeOptional("&"));return e}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const e=[];for(this.peekStartsWith("(")||e.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),e.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let i={};return this.peekStartsWith("(")&&(i=this.parseParens(!1)),(e.length>0||Object.keys(t).length>0)&&(i[ee]=new se(e,t)),i}parseSegment(){const e=lc(this.remaining);if(""===e&&this.peekStartsWith(";"))throw new Error(`Empty path url segment cannot have parameters: '${this.remaining}'.`);return this.capture(e),new Vo(ac(e),this.parseMatrixParams())}parseMatrixParams(){const e={};for(;this.consumeOptional(";");)this.parseParam(e);return e}parseParam(e){const t=lc(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const r=lc(this.remaining);r&&(i=r,this.capture(i))}e[ac(t)]=ac(i)}parseQueryParam(e){const t=function(n){const e=n.match(GL);return e?e[0]:""}(this.remaining);if(!t)return;this.capture(t);let i="";if(this.consumeOptional("=")){const o=function(n){const e=n.match(YL);return e?e[0]:""}(this.remaining);o&&(i=o,this.capture(i))}const r=v0(t),s=v0(i);if(e.hasOwnProperty(r)){let o=e[r];Array.isArray(o)||(o=[o],e[r]=o),o.push(s)}else e[r]=s}parseParens(e){const t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const i=lc(this.remaining),r=this.remaining[i.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error(`Cannot parse url '${this.url}'`);let s;i.indexOf(":")>-1?(s=i.substr(0,i.indexOf(":")),this.capture(s),this.capture(":")):e&&(s=ee);const o=this.parseChildren();t[s]=1===Object.keys(o).length?o[ee]:new se([],o),this.consumeOptional("//")}return t}peekStartsWith(e){return this.remaining.startsWith(e)}consumeOptional(e){return!!this.peekStartsWith(e)&&(this.remaining=this.remaining.substring(e.length),!0)}capture(e){if(!this.consumeOptional(e))throw new Error(`Expected "${e}".`)}}class C0{constructor(e){this._root=e}get root(){return this._root.value}parent(e){const t=this.pathFromRoot(e);return t.length>1?t[t.length-2]:null}children(e){const t=Vf(e,this._root);return t?t.children.map(i=>i.value):[]}firstChild(e){const t=Vf(e,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(e){const t=Bf(e,this._root);return t.length<2?[]:t[t.length-2].children.map(r=>r.value).filter(r=>r!==e)}pathFromRoot(e){return Bf(e,this._root).map(t=>t.value)}}function Vf(n,e){if(n===e.value)return e;for(const t of e.children){const i=Vf(n,t);if(i)return i}return null}function Bf(n,e){if(n===e.value)return[e];for(const t of e.children){const i=Bf(n,t);if(i.length)return i.unshift(e),i}return[]}class di{constructor(e,t){this.value=e,this.children=t}toString(){return`TreeNode(${this.value})`}}function Cs(n){const e={};return n&&n.children.forEach(t=>e[t.value.outlet]=t),e}class D0 extends C0{constructor(e,t){super(e),this.snapshot=t,jf(this,e)}toString(){return this.snapshot.toString()}}function w0(n,e){const t=function(n,e){const o=new cc([],{},{},"",{},ee,e,null,n.root,-1,{});return new E0("",new di(o,[]))}(n,e),i=new Mn([new Vo("",{})]),r=new Mn({}),s=new Mn({}),o=new Mn({}),a=new Mn(""),l=new Ds(i,r,o,a,s,ee,e,t.root);return l.snapshot=t.root,new D0(new di(l,[]),t)}class Ds{constructor(e,t,i,r,s,o,a,l){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this._futureSnapshot=l}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=this.params.pipe(Z(e=>bs(e)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(Z(e=>bs(e)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function x0(n,e="emptyOnly"){const t=n.pathFromRoot;let i=0;if("always"!==e)for(i=t.length-1;i>=1;){const r=t[i],s=t[i-1];if(r.routeConfig&&""===r.routeConfig.path)i--;else{if(s.component)break;i--}}return function(n){return n.reduce((e,t)=>({params:Object.assign(Object.assign({},e.params),t.params),data:Object.assign(Object.assign({},e.data),t.data),resolve:Object.assign(Object.assign({},e.resolve),t._resolvedData)}),{params:{},data:{},resolve:{}})}(t.slice(i))}class cc{constructor(e,t,i,r,s,o,a,l,c,u,d){this.url=e,this.params=t,this.queryParams=i,this.fragment=r,this.data=s,this.outlet=o,this.component=a,this.routeConfig=l,this._urlSegment=c,this._lastPathIndex=u,this._resolve=d}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap||(this._paramMap=bs(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=bs(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(i=>i.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class E0 extends C0{constructor(e,t){super(t),this.url=e,jf(this,t)}toString(){return M0(this._root)}}function jf(n,e){e.value._routerState=n,e.children.forEach(t=>jf(n,t))}function M0(n){const e=n.children.length>0?` { ${n.children.map(M0).join(", ")} } `:"";return`${n.value}${e}`}function Hf(n){if(n.snapshot){const e=n.snapshot,t=n._futureSnapshot;n.snapshot=t,Gn(e.queryParams,t.queryParams)||n.queryParams.next(t.queryParams),e.fragment!==t.fragment&&n.fragment.next(t.fragment),Gn(e.params,t.params)||n.params.next(t.params),function(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;++t)if(!Gn(n[t],e[t]))return!1;return!0}(e.url,t.url)||n.url.next(t.url),Gn(e.data,t.data)||n.data.next(t.data)}else n.snapshot=n._futureSnapshot,n.data.next(n._futureSnapshot.data)}function Uf(n,e){const t=Gn(n.params,e.params)&&function(n,e){return ir(n,e)&&n.every((t,i)=>Gn(t.parameters,e[i].parameters))}(n.url,e.url);return t&&!(!n.parent!=!e.parent)&&(!n.parent||Uf(n.parent,e.parent))}function jo(n,e,t){if(t&&n.shouldReuseRoute(e.value,t.value.snapshot)){const i=t.value;i._futureSnapshot=e.value;const r=function(n,e,t){return e.children.map(i=>{for(const r of t.children)if(n.shouldReuseRoute(i.value,r.value.snapshot))return jo(n,i,r);return jo(n,i)})}(n,e,t);return new di(i,r)}{if(n.shouldAttach(e.value)){const s=n.retrieve(e.value);if(null!==s){const o=s.route;return o.value._futureSnapshot=e.value,o.children=e.children.map(a=>jo(n,a)),o}}const i=function(n){return new Ds(new Mn(n.url),new Mn(n.params),new Mn(n.queryParams),new Mn(n.fragment),new Mn(n.data),n.outlet,n.component,n)}(e.value),r=e.children.map(s=>jo(n,s));return new di(i,r)}}function uc(n){return"object"==typeof n&&null!=n&&!n.outlets&&!n.segmentPath}function Ho(n){return"object"==typeof n&&null!=n&&n.outlets}function $f(n,e,t,i,r){let s={};return i&&at(i,(o,a)=>{s[a]=Array.isArray(o)?o.map(l=>`${l}`):`${o}`}),new nr(t.root===n?e:S0(t.root,n,e),s,r)}function S0(n,e,t){const i={};return at(n.children,(r,s)=>{i[s]=r===e?t:S0(r,e,t)}),new se(n.segments,i)}class A0{constructor(e,t,i){if(this.isAbsolute=e,this.numberOfDoubleDots=t,this.commands=i,e&&i.length>0&&uc(i[0]))throw new Error("Root segment cannot have matrix parameters");const r=i.find(Ho);if(r&&r!==u0(i))throw new Error("{outlets:{}} has to be the last command")}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class zf{constructor(e,t,i){this.segmentGroup=e,this.processChildren=t,this.index=i}}function I0(n,e,t){if(n||(n=new se([],{})),0===n.segments.length&&n.hasChildren())return dc(n,e,t);const i=function(n,e,t){let i=0,r=e;const s={match:!1,pathIndex:0,commandIndex:0};for(;r<n.segments.length;){if(i>=t.length)return s;const o=n.segments[r],a=t[i];if(Ho(a))break;const l=`${a}`,c=i<t.length-1?t[i+1]:null;if(r>0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!O0(l,c,o))return s;i+=2}else{if(!O0(l,{},o))return s;i++}r++}return{match:!0,pathIndex:r,commandIndex:i}}(n,e,t),r=t.slice(i.commandIndex);if(i.match&&i.pathIndex<n.segments.length){const s=new se(n.segments.slice(0,i.pathIndex),{});return s.children[ee]=new se(n.segments.slice(i.pathIndex),n.children),dc(s,0,r)}return i.match&&0===r.length?new se(n.segments,{}):i.match&&!n.hasChildren()?Wf(n,e,t):i.match?dc(n,0,r):Wf(n,e,t)}function dc(n,e,t){if(0===t.length)return new se(n.segments,{});{const i=function(n){return Ho(n[0])?n[0].outlets:{[ee]:n}}(t),r={};return at(i,(s,o)=>{"string"==typeof s&&(s=[s]),null!==s&&(r[o]=I0(n.children[o],e,s))}),at(n.children,(s,o)=>{void 0===i[o]&&(r[o]=s)}),new se(n.segments,r)}}function Wf(n,e,t){const i=n.segments.slice(0,e);let r=0;for(;r<t.length;){const s=t[r];if(Ho(s)){const l=lV(s.outlets);return new se(i,l)}if(0===r&&uc(t[0])){i.push(new Vo(n.segments[e].path,T0(t[0]))),r++;continue}const o=Ho(s)?s.outlets[ee]:`${s}`,a=r<t.length-1?t[r+1]:null;o&&a&&uc(a)?(i.push(new Vo(o,T0(a))),r+=2):(i.push(new Vo(o,{})),r++)}return new se(i,{})}function lV(n){const e={};return at(n,(t,i)=>{"string"==typeof t&&(t=[t]),null!==t&&(e[i]=Wf(new se([],{}),0,t))}),e}function T0(n){const e={};return at(n,(t,i)=>e[i]=`${t}`),e}function O0(n,e,t){return n==t.path&&Gn(e,t.parameters)}class uV{constructor(e,t,i,r){this.routeReuseStrategy=e,this.futureState=t,this.currState=i,this.forwardEvent=r}activate(e){const t=this.futureState._root,i=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,i,e),Hf(this.futureState.root),this.activateChildRoutes(t,i,e)}deactivateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{const o=s.value.outlet;this.deactivateRoutes(s,r[o],i),delete r[o]}),at(r,(s,o)=>{this.deactivateRouteAndItsChildren(s,i)})}deactivateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(r===s)if(r.component){const o=i.getContext(r.outlet);o&&this.deactivateChildRoutes(e,t,o.children)}else this.deactivateChildRoutes(e,t,i);else s&&this.deactivateRouteAndItsChildren(t,i)}deactivateRouteAndItsChildren(e,t){e.value.component&&this.routeReuseStrategy.shouldDetach(e.value.snapshot)?this.detachAndStoreRouteSubtree(e,t):this.deactivateRouteAndOutlet(e,t)}detachAndStoreRouteSubtree(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);if(i&&i.outlet){const o=i.outlet.detach(),a=i.children.onOutletDeactivated();this.routeReuseStrategy.store(e.value.snapshot,{componentRef:o,route:e,contexts:a})}}deactivateRouteAndOutlet(e,t){const i=t.getContext(e.value.outlet),r=i&&e.value.component?i.children:t,s=Cs(e);for(const o of Object.keys(s))this.deactivateRouteAndItsChildren(s[o],r);i&&i.outlet&&(i.outlet.deactivate(),i.children.onOutletDeactivated(),i.attachRef=null,i.resolver=null,i.route=null)}activateChildRoutes(e,t,i){const r=Cs(t);e.children.forEach(s=>{this.activateRoutes(s,r[s.value.outlet],i),this.forwardEvent(new TL(s.value.snapshot))}),e.children.length&&this.forwardEvent(new AL(e.value.snapshot))}activateRoutes(e,t,i){const r=e.value,s=t?t.value:null;if(Hf(r),r===s)if(r.component){const o=i.getOrCreateContext(r.outlet);this.activateChildRoutes(e,t,o.children)}else this.activateChildRoutes(e,t,i);else if(r.component){const o=i.getOrCreateContext(r.outlet);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){const a=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),o.children.onOutletReAttached(a.contexts),o.attachRef=a.componentRef,o.route=a.route.value,o.outlet&&o.outlet.attach(a.componentRef,a.route.value),Hf(a.route.value),this.activateChildRoutes(e,null,o.children)}else{const a=function(n){for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig;if(t&&t.component)return null}return null}(r.snapshot),l=a?a.module.componentFactoryResolver:null;o.attachRef=null,o.route=r,o.resolver=l,o.outlet&&o.outlet.activateWith(r,l),this.activateChildRoutes(e,null,o.children)}}else this.activateChildRoutes(e,null,i)}}class Gf{constructor(e,t){this.routes=e,this.module=t}}function Fi(n){return"function"==typeof n}function rr(n){return n instanceof nr}const Uo=Symbol("INITIAL_VALUE");function $o(){return Sn(n=>function(...n){const e=Ps(n),t=mg(n),{args:i,keys:r}=JC(n);if(0===i.length)return Ye([],e);const s=new fe(function(n,e,t=vi){return i=>{JD(e,()=>{const{length:r}=n,s=new Array(r);let o=r,a=r;for(let l=0;l<r;l++)JD(e,()=>{const c=Ye(n[l],e);let u=!1;c.subscribe(new Ne(i,d=>{s[l]=d,u||(u=!0,a--),a||i.next(t(s.slice()))},()=>{--o||i.complete()}))},i)},i)}}(i,e,r?o=>ZC(r,o):vi));return t?s.pipe(pf(t)):s}(n.map(e=>e.pipe(Xt(1),function(...n){const e=Ps(n);return je((t,i)=>{(e?No(n,t,e):No(n,t)).subscribe(i)})}(Uo)))).pipe(QD((e,t)=>{let i=!1;return t.reduce((r,s,o)=>r!==Uo?r:(s===Uo&&(i=!0),i||!1!==s&&o!==t.length-1&&!rr(s)?r:s),e)},Uo),Yt(e=>e!==Uo),Z(e=>rr(e)?e:!0===e),Xt(1)))}class yV{constructor(){this.outlet=null,this.route=null,this.resolver=null,this.children=new zo,this.attachRef=null}}class zo{constructor(){this.contexts=new Map}onChildOutletCreated(e,t){const i=this.getOrCreateContext(e);i.outlet=t,this.contexts.set(e,i)}onChildOutletDestroyed(e){const t=this.getContext(e);t&&(t.outlet=null,t.attachRef=null)}onOutletDeactivated(){const e=this.contexts;return this.contexts=new Map,e}onOutletReAttached(e){this.contexts=e}getOrCreateContext(e){let t=this.getContext(e);return t||(t=new yV,this.contexts.set(e,t)),t}getContext(e){return this.contexts.get(e)||null}}let qf=(()=>{class n{constructor(t,i,r,s,o){this.parentContexts=t,this.location=i,this.resolver=r,this.changeDetector=o,this.activated=null,this._activatedRoute=null,this.activateEvents=new Re,this.deactivateEvents=new Re,this.attachEvents=new Re,this.detachEvents=new Re,this.name=s||ee,t.onChildOutletCreated(this.name,this)}ngOnDestroy(){this.parentContexts.onChildOutletDestroyed(this.name)}ngOnInit(){if(!this.activated){const t=this.parentContexts.getContext(this.name);t&&t.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.resolver||null))}}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance}get activatedRoute(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();const t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,i){this.activated=t,this._activatedRoute=i,this.location.insert(t.hostView),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){const t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,i){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this._activatedRoute=t;const o=(i=i||this.resolver).resolveComponentFactory(t._futureSnapshot.routeConfig.component),a=this.parentContexts.getOrCreateContext(this.name).children,l=new _V(t,a,this.location.injector);this.activated=this.location.createComponent(o,this.location.length,l),this.changeDetector.markForCheck(),this.activateEvents.emit(this.activated.instance)}}return n.\u0275fac=function(t){return new(t||n)(x(zo),x(Dn),x(os),function(n){return function(n,e){if("class"===e)return n.classes;if("style"===e)return n.styles;const t=n.attrs;if(t){const i=t.length;let r=0;for(;r<i;){const s=t[r];if(Jg(s))break;if(0===s)r+=2;else if("number"==typeof s)for(r++;r<i&&"string"==typeof t[r];)r++;else{if(s===e)return t[r+1];r+=2}}}return null}(Ke(),n)}("name"),x(Fh))},n.\u0275dir=N({type:n,selectors:[["router-outlet"]],outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"]}),n})();class _V{constructor(e,t,i){this.route=e,this.childContexts=t,this.parent=i}get(e,t){return e===Ds?this.route:e===zo?this.childContexts:this.parent.get(e,t)}}let P0=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["ng-component"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],encapsulation:2}),n})();function k0(n,e=""){for(let t=0;t<n.length;t++){const i=n[t];vV(i,bV(e,i))}}function vV(n,e){n.children&&k0(n.children,e)}function bV(n,e){return e?n||e.path?n&&!e.path?`${n}/`:!n&&e.path?e.path:`${n}/${e.path}`:"":n}function Yf(n){const e=n.children&&n.children.map(Yf),t=e?Object.assign(Object.assign({},n),{children:e}):Object.assign({},n);return!t.component&&(e||t.loadChildren)&&t.outlet&&t.outlet!==ee&&(t.component=P0),t}function ln(n){return n.outlet||ee}function R0(n,e){const t=n.filter(i=>ln(i)===e);return t.push(...n.filter(i=>ln(i)!==e)),t}const F0={matched:!1,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};function hc(n,e,t){var i;if(""===e.path)return"full"===e.pathMatch&&(n.hasChildren()||t.length>0)?Object.assign({},F0):{matched:!0,consumedSegments:[],lastChild:0,parameters:{},positionalParamSegments:{}};const s=(e.matcher||kL)(t,n,e);if(!s)return Object.assign({},F0);const o={};at(s.posParams,(l,c)=>{o[c]=l.path});const a=s.consumed.length>0?Object.assign(Object.assign({},o),s.consumed[s.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:s.consumed,lastChild:s.consumed.length,parameters:a,positionalParamSegments:null!==(i=s.posParams)&&void 0!==i?i:{}}}function fc(n,e,t,i,r="corrected"){if(t.length>0&&function(n,e,t){return t.some(i=>pc(n,e,i)&&ln(i)!==ee)}(n,t,i)){const o=new se(e,function(n,e,t,i){const r={};r[ee]=i,i._sourceSegment=n,i._segmentIndexShift=e.length;for(const s of t)if(""===s.path&&ln(s)!==ee){const o=new se([],{});o._sourceSegment=n,o._segmentIndexShift=e.length,r[ln(s)]=o}return r}(n,e,i,new se(t,n.children)));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:[]}}if(0===t.length&&function(n,e,t){return t.some(i=>pc(n,e,i))}(n,t,i)){const o=new se(n.segments,function(n,e,t,i,r,s){const o={};for(const a of i)if(pc(n,t,a)&&!r[ln(a)]){const l=new se([],{});l._sourceSegment=n,l._segmentIndexShift="legacy"===s?n.segments.length:e.length,o[ln(a)]=l}return Object.assign(Object.assign({},r),o)}(n,e,t,i,n.children,r));return o._sourceSegment=n,o._segmentIndexShift=e.length,{segmentGroup:o,slicedSegments:t}}const s=new se(n.segments,n.children);return s._sourceSegment=n,s._segmentIndexShift=e.length,{segmentGroup:s,slicedSegments:t}}function pc(n,e,t){return(!(n.hasChildren()||e.length>0)||"full"!==t.pathMatch)&&""===t.path}function N0(n,e,t,i){return!!(ln(n)===i||i!==ee&&pc(e,t,n))&&("**"===n.path||hc(e,n,t).matched)}function L0(n,e,t){return 0===e.length&&!n.children[t]}class Wo{constructor(e){this.segmentGroup=e||null}}class V0{constructor(e){this.urlTree=e}}function gc(n){return new fe(e=>e.error(new Wo(n)))}function B0(n){return new fe(e=>e.error(new V0(n)))}function EV(n){return new fe(e=>e.error(new Error(`Only absolute redirects can have named outlets. redirectTo: '${n}'`)))}class AV{constructor(e,t,i,r,s){this.configLoader=t,this.urlSerializer=i,this.urlTree=r,this.config=s,this.allowRedirects=!0,this.ngModule=e.get(oi)}apply(){const e=fc(this.urlTree.root,[],[],this.config).segmentGroup,t=new se(e.segments,e.children);return this.expandSegmentGroup(this.ngModule,this.config,t,ee).pipe(Z(s=>this.createUrlTree(Kf(s),this.urlTree.queryParams,this.urlTree.fragment))).pipe(st(s=>{if(s instanceof V0)return this.allowRedirects=!1,this.match(s.urlTree);throw s instanceof Wo?this.noMatchError(s):s}))}match(e){return this.expandSegmentGroup(this.ngModule,this.config,e.root,ee).pipe(Z(r=>this.createUrlTree(Kf(r),e.queryParams,e.fragment))).pipe(st(r=>{throw r instanceof Wo?this.noMatchError(r):r}))}noMatchError(e){return new Error(`Cannot match any routes. URL Segment: '${e.segmentGroup}'`)}createUrlTree(e,t,i){const r=e.segments.length>0?new se([],{[ee]:e}):e;return new nr(r,t,i)}expandSegmentGroup(e,t,i,r){return 0===i.segments.length&&i.hasChildren()?this.expandChildren(e,t,i).pipe(Z(s=>new se([],s))):this.expandSegment(e,i,t,i.segments,r,!0)}expandChildren(e,t,i){const r=[];for(const s of Object.keys(i.children))"primary"===s?r.unshift(s):r.push(s);return Ye(r).pipe(gs(s=>{const o=i.children[s],a=R0(t,s);return this.expandSegmentGroup(e,a,o,s).pipe(Z(l=>({segment:l,outlet:s})))}),QD((s,o)=>(s[o.outlet]=o.segment,s),{}),function(n,e){const t=arguments.length>=2;return i=>i.pipe(n?Yt((r,s)=>n(r,s,i)):vi,Rf(1),t?t0(e):e0(()=>new nc))}())}expandSegment(e,t,i,r,s,o){return Ye(i).pipe(gs(a=>this.expandSegmentAgainstRoute(e,t,i,a,r,s,o).pipe(st(c=>{if(c instanceof Wo)return j(null);throw c}))),vs(a=>!!a),st((a,l)=>{if(a instanceof nc||"EmptyError"===a.name){if(L0(t,r,s))return j(new se([],{}));throw new Wo(t)}throw a}))}expandSegmentAgainstRoute(e,t,i,r,s,o,a){return N0(r,t,s,o)?void 0===r.redirectTo?this.matchSegmentAgainstRoute(e,t,r,s,o):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o):gc(t):gc(t)}expandSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(e,i,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o)}expandWildCardWithParamsAgainstRouteUsingRedirect(e,t,i,r){const s=this.applyRedirectCommands([],i.redirectTo,{});return i.redirectTo.startsWith("/")?B0(s):this.lineralizeSegments(i,s).pipe(He(o=>{const a=new se(o,{});return this.expandSegment(e,a,t,o,r,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(e,t,i,r,s,o){const{matched:a,consumedSegments:l,lastChild:c,positionalParamSegments:u}=hc(t,r,s);if(!a)return gc(t);const d=this.applyRedirectCommands(l,r.redirectTo,u);return r.redirectTo.startsWith("/")?B0(d):this.lineralizeSegments(r,d).pipe(He(h=>this.expandSegment(e,t,i,h.concat(s.slice(c)),o,!1)))}matchSegmentAgainstRoute(e,t,i,r,s){if("**"===i.path)return i.loadChildren?(i._loadedConfig?j(i._loadedConfig):this.configLoader.load(e.injector,i)).pipe(Z(h=>(i._loadedConfig=h,new se(r,{})))):j(new se(r,{}));const{matched:o,consumedSegments:a,lastChild:l}=hc(t,i,r);if(!o)return gc(t);const c=r.slice(l);return this.getChildConfig(e,i,r).pipe(He(d=>{const h=d.module,f=d.routes,{segmentGroup:p,slicedSegments:g}=fc(t,a,c,f),_=new se(p.segments,p.children);if(0===g.length&&_.hasChildren())return this.expandChildren(h,f,_).pipe(Z(C=>new se(a,C)));if(0===f.length&&0===g.length)return j(new se(a,{}));const v=ln(i)===s;return this.expandSegment(h,_,f,g,v?ee:s,!0).pipe(Z(D=>new se(a.concat(D.segments),D.children)))}))}getChildConfig(e,t,i){return t.children?j(new Gf(t.children,e)):t.loadChildren?void 0!==t._loadedConfig?j(t._loadedConfig):this.runCanLoadGuards(e.injector,t,i).pipe(He(r=>{return r?this.configLoader.load(e.injector,t).pipe(Z(s=>(t._loadedConfig=s,s))):(n=t,new fe(e=>e.error(Nf(`Cannot load children because the guard of the route "path: '${n.path}'" returned false`))));var n})):j(new Gf([],e))}runCanLoadGuards(e,t,i){const r=t.canLoad;return r&&0!==r.length?j(r.map(o=>{const a=e.get(o);let l;if((n=a)&&Fi(n.canLoad))l=a.canLoad(t,i);else{if(!Fi(a))throw new Error("Invalid CanLoad guard");l=a(t,i)}var n;return qn(l)})).pipe($o(),Ot(o=>{if(!rr(o))return;const a=Nf(`Redirecting to "${this.urlSerializer.serialize(o)}"`);throw a.url=o,a}),Z(o=>!0===o)):j(!0)}lineralizeSegments(e,t){let i=[],r=t.root;for(;;){if(i=i.concat(r.segments),0===r.numberOfChildren)return j(i);if(r.numberOfChildren>1||!r.children[ee])return EV(e.redirectTo);r=r.children[ee]}}applyRedirectCommands(e,t,i){return this.applyRedirectCreatreUrlTree(t,this.urlSerializer.parse(t),e,i)}applyRedirectCreatreUrlTree(e,t,i,r){const s=this.createSegmentGroup(e,t.root,i,r);return new nr(s,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(e,t){const i={};return at(e,(r,s)=>{if("string"==typeof r&&r.startsWith(":")){const a=r.substring(1);i[s]=t[a]}else i[s]=r}),i}createSegmentGroup(e,t,i,r){const s=this.createSegments(e,t.segments,i,r);let o={};return at(t.children,(a,l)=>{o[l]=this.createSegmentGroup(e,a,i,r)}),new se(s,o)}createSegments(e,t,i,r){return t.map(s=>s.path.startsWith(":")?this.findPosParam(e,s,r):this.findOrReturn(s,i))}findPosParam(e,t,i){const r=i[t.path.substring(1)];if(!r)throw new Error(`Cannot redirect to '${e}'. Cannot find '${t.path}'.`);return r}findOrReturn(e,t){let i=0;for(const r of t){if(r.path===e.path)return t.splice(i),r;i++}return e}}function Kf(n){const e={};for(const i of Object.keys(n.children)){const s=Kf(n.children[i]);(s.segments.length>0||s.hasChildren())&&(e[i]=s)}return function(n){if(1===n.numberOfChildren&&n.children[ee]){const e=n.children[ee];return new se(n.segments.concat(e.segments),e.children)}return n}(new se(n.segments,e))}class j0{constructor(e){this.path=e,this.route=this.path[this.path.length-1]}}class mc{constructor(e,t){this.component=e,this.route=t}}function OV(n,e,t){const i=n._root;return Go(i,e?e._root:null,t,[i.value])}function yc(n,e,t){const i=function(n){if(!n)return null;for(let e=n.parent;e;e=e.parent){const t=e.routeConfig;if(t&&t._loadedConfig)return t._loadedConfig}return null}(e);return(i?i.module.injector:t).get(n)}function Go(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=Cs(e);return n.children.forEach(o=>{(function(n,e,t,i,r={canDeactivateChecks:[],canActivateChecks:[]}){const s=n.value,o=e?e.value:null,a=t?t.getContext(n.value.outlet):null;if(o&&s.routeConfig===o.routeConfig){const l=function(n,e,t){if("function"==typeof t)return t(n,e);switch(t){case"pathParamsChange":return!ir(n.url,e.url);case"pathParamsOrQueryParamsChange":return!ir(n.url,e.url)||!Gn(n.queryParams,e.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Uf(n,e)||!Gn(n.queryParams,e.queryParams);default:return!Uf(n,e)}}(o,s,s.routeConfig.runGuardsAndResolvers);l?r.canActivateChecks.push(new j0(i)):(s.data=o.data,s._resolvedData=o._resolvedData),Go(n,e,s.component?a?a.children:null:t,i,r),l&&a&&a.outlet&&a.outlet.isActivated&&r.canDeactivateChecks.push(new mc(a.outlet.component,o))}else o&&qo(e,a,r),r.canActivateChecks.push(new j0(i)),Go(n,null,s.component?a?a.children:null:t,i,r)})(o,s[o.value.outlet],t,i.concat([o.value]),r),delete s[o.value.outlet]}),at(s,(o,a)=>qo(o,t.getContext(a),r)),r}function qo(n,e,t){const i=Cs(n),r=n.value;at(i,(s,o)=>{qo(s,r.component?e?e.children.getContext(o):null:e,t)}),t.canDeactivateChecks.push(new mc(r.component&&e&&e.outlet&&e.outlet.isActivated?e.outlet.component:null,r))}class zV{}function H0(n){return new fe(e=>e.error(n))}class GV{constructor(e,t,i,r,s,o){this.rootComponentType=e,this.config=t,this.urlTree=i,this.url=r,this.paramsInheritanceStrategy=s,this.relativeLinkResolution=o}recognize(){const e=fc(this.urlTree.root,[],[],this.config.filter(o=>void 0===o.redirectTo),this.relativeLinkResolution).segmentGroup,t=this.processSegmentGroup(this.config,e,ee);if(null===t)return null;const i=new cc([],Object.freeze({}),Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,{},ee,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new di(i,t),s=new E0(this.url,r);return this.inheritParamsAndData(s._root),s}inheritParamsAndData(e){const t=e.value,i=x0(t,this.paramsInheritanceStrategy);t.params=Object.freeze(i.params),t.data=Object.freeze(i.data),e.children.forEach(r=>this.inheritParamsAndData(r))}processSegmentGroup(e,t,i){return 0===t.segments.length&&t.hasChildren()?this.processChildren(e,t):this.processSegment(e,t,t.segments,i)}processChildren(e,t){const i=[];for(const s of Object.keys(t.children)){const o=t.children[s],a=R0(e,s),l=this.processSegmentGroup(a,o,s);if(null===l)return null;i.push(...l)}const r=U0(i);return r.sort((e,t)=>e.value.outlet===ee?-1:t.value.outlet===ee?1:e.value.outlet.localeCompare(t.value.outlet)),r}processSegment(e,t,i,r){for(const s of e){const o=this.processSegmentAgainstRoute(s,t,i,r);if(null!==o)return o}return L0(t,i,r)?[]:null}processSegmentAgainstRoute(e,t,i,r){if(e.redirectTo||!N0(e,t,i,r))return null;let s,o=[],a=[];if("**"===e.path){const f=i.length>0?u0(i).parameters:{};s=new cc(i,f,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+i.length,G0(e))}else{const f=hc(t,e,i);if(!f.matched)return null;o=f.consumedSegments,a=i.slice(f.lastChild),s=new cc(o,f.parameters,Object.freeze(Object.assign({},this.urlTree.queryParams)),this.urlTree.fragment,W0(e),ln(e),e.component,e,$0(t),z0(t)+o.length,G0(e))}const l=(n=e).children?n.children:n.loadChildren?n._loadedConfig.routes:[],{segmentGroup:c,slicedSegments:u}=fc(t,o,a,l.filter(f=>void 0===f.redirectTo),this.relativeLinkResolution);var n;if(0===u.length&&c.hasChildren()){const f=this.processChildren(l,c);return null===f?null:[new di(s,f)]}if(0===l.length&&0===u.length)return[new di(s,[])];const d=ln(e)===r,h=this.processSegment(l,c,u,d?ee:r);return null===h?null:[new di(s,h)]}}function KV(n){const e=n.value.routeConfig;return e&&""===e.path&&void 0===e.redirectTo}function U0(n){const e=[],t=new Set;for(const i of n){if(!KV(i)){e.push(i);continue}const r=e.find(s=>i.value.routeConfig===s.value.routeConfig);void 0!==r?(r.children.push(...i.children),t.add(r)):e.push(i)}for(const i of t){const r=U0(i.children);e.push(new di(i.value,r))}return e.filter(i=>!t.has(i))}function $0(n){let e=n;for(;e._sourceSegment;)e=e._sourceSegment;return e}function z0(n){let e=n,t=e._segmentIndexShift?e._segmentIndexShift:0;for(;e._sourceSegment;)e=e._sourceSegment,t+=e._segmentIndexShift?e._segmentIndexShift:0;return t-1}function W0(n){return n.data||{}}function G0(n){return n.resolve||{}}function Jf(n){return Sn(e=>{const t=n(e);return t?Ye(t).pipe(Z(()=>e)):j(e)})}class i2 extends class{shouldDetach(e){return!1}store(e,t){}shouldAttach(e){return!1}retrieve(e){return null}shouldReuseRoute(e,t){return e.routeConfig===t.routeConfig}}{}const Zf=new z("ROUTES");class q0{constructor(e,t,i,r){this.injector=e,this.compiler=t,this.onLoadStartListener=i,this.onLoadEndListener=r}load(e,t){if(t._loader$)return t._loader$;this.onLoadStartListener&&this.onLoadStartListener(t);const r=this.loadModuleFactory(t.loadChildren).pipe(Z(s=>{this.onLoadEndListener&&this.onLoadEndListener(t);const o=s.create(e);return new Gf(c0(o.injector.get(Zf,void 0,$.Self|$.Optional)).map(Yf),o)}),st(s=>{throw t._loader$=void 0,s}));return t._loader$=new XD(r,()=>new Jt).pipe(ZD()),t._loader$}loadModuleFactory(e){return qn(e()).pipe(He(t=>t instanceof Zv?j(t):Ye(this.compiler.compileModuleAsync(t))))}}class s2{shouldProcessUrl(e){return!0}extract(e){return e}merge(e,t){return e}}function o2(n){throw n}function a2(n,e,t){return e.parse("/")}function Y0(n,e){return j(null)}const l2={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},c2={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let Pt=(()=>{class n{constructor(t,i,r,s,o,a,l){this.rootComponentType=t,this.urlSerializer=i,this.rootContexts=r,this.location=s,this.config=l,this.lastSuccessfulNavigation=null,this.currentNavigation=null,this.disposed=!1,this.navigationId=0,this.currentPageId=0,this.isNgZoneEnabled=!1,this.events=new Jt,this.errorHandler=o2,this.malformedUriErrorHandler=a2,this.navigated=!1,this.lastSuccessfulId=-1,this.hooks={beforePreactivation:Y0,afterPreactivation:Y0},this.urlHandlingStrategy=new s2,this.routeReuseStrategy=new i2,this.onSameUrlNavigation="ignore",this.paramsInheritanceStrategy="emptyOnly",this.urlUpdateStrategy="deferred",this.relativeLinkResolution="corrected",this.canceledNavigationResolution="replace",this.ngModule=o.get(oi),this.console=o.get(Pb);const d=o.get(ze);this.isNgZoneEnabled=d instanceof ze&&ze.isInAngularZone(),this.resetConfig(l),this.currentUrlTree=new nr(new se([],{}),{},null),this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.configLoader=new q0(o,a,h=>this.triggerEvent(new r0(h)),h=>this.triggerEvent(new s0(h))),this.routerState=w0(this.currentUrlTree,this.rootComponentType),this.transitions=new Mn({id:0,targetPageId:0,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,extractedUrl:this.urlHandlingStrategy.extract(this.currentUrlTree),urlAfterRedirects:this.urlHandlingStrategy.extract(this.currentUrlTree),rawUrl:this.currentUrlTree,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:"imperative",restoredState:null,currentSnapshot:this.routerState.snapshot,targetSnapshot:null,currentRouterState:this.routerState,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.navigations=this.setupNavigations(this.transitions),this.processNavigations()}get browserPageId(){var t;return null===(t=this.location.getState())||void 0===t?void 0:t.\u0275routerPageId}setupNavigations(t){const i=this.events;return t.pipe(Yt(r=>0!==r.id),Z(r=>Object.assign(Object.assign({},r),{extractedUrl:this.urlHandlingStrategy.extract(r.rawUrl)})),Sn(r=>{let s=!1,o=!1;return j(r).pipe(Ot(a=>{this.currentNavigation={id:a.id,initialUrl:a.currentRawUrl,extractedUrl:a.extractedUrl,trigger:a.source,extras:a.extras,previousNavigation:this.lastSuccessfulNavigation?Object.assign(Object.assign({},this.lastSuccessfulNavigation),{previousNavigation:null}):null}}),Sn(a=>{const l=this.browserUrlTree.toString(),c=!this.navigated||a.extractedUrl.toString()!==l||l!==this.currentUrlTree.toString();if(("reload"===this.onSameUrlNavigation||c)&&this.urlHandlingStrategy.shouldProcessUrl(a.rawUrl))return _c(a.source)&&(this.browserUrlTree=a.extractedUrl),j(a).pipe(Sn(d=>{const h=this.transitions.getValue();return i.next(new Ff(d.id,this.serializeUrl(d.extractedUrl),d.source,d.restoredState)),h!==this.transitions.getValue()?Xn:Promise.resolve(d)}),function(n,e,t,i){return Sn(r=>function(n,e,t,i,r){return new AV(n,e,t,i,r).apply()}(n,e,t,r.extractedUrl,i).pipe(Z(s=>Object.assign(Object.assign({},r),{urlAfterRedirects:s}))))}(this.ngModule.injector,this.configLoader,this.urlSerializer,this.config),Ot(d=>{this.currentNavigation=Object.assign(Object.assign({},this.currentNavigation),{finalUrl:d.urlAfterRedirects})}),function(n,e,t,i,r){return He(s=>function(n,e,t,i,r="emptyOnly",s="legacy"){try{const o=new GV(n,e,t,i,r,s).recognize();return null===o?H0(new zV):j(o)}catch(o){return H0(o)}}(n,e,s.urlAfterRedirects,t(s.urlAfterRedirects),i,r).pipe(Z(o=>Object.assign(Object.assign({},s),{targetSnapshot:o}))))}(this.rootComponentType,this.config,d=>this.serializeUrl(d),this.paramsInheritanceStrategy,this.relativeLinkResolution),Ot(d=>{if("eager"===this.urlUpdateStrategy){if(!d.extras.skipLocationChange){const f=this.urlHandlingStrategy.merge(d.urlAfterRedirects,d.rawUrl);this.setBrowserUrl(f,d)}this.browserUrlTree=d.urlAfterRedirects}const h=new DL(d.id,this.serializeUrl(d.extractedUrl),this.serializeUrl(d.urlAfterRedirects),d.targetSnapshot);i.next(h)}));if(c&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)){const{id:h,extractedUrl:f,source:p,restoredState:g,extras:_}=a,v=new Ff(h,this.serializeUrl(f),p,g);i.next(v);const b=w0(f,this.rootComponentType).snapshot;return j(Object.assign(Object.assign({},a),{targetSnapshot:b,urlAfterRedirects:f,extras:Object.assign(Object.assign({},_),{skipLocationChange:!1,replaceUrl:!1})}))}return this.rawUrlTree=a.rawUrl,a.resolve(null),Xn}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.beforePreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Ot(a=>{const l=new wL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot);this.triggerEvent(l)}),Z(a=>Object.assign(Object.assign({},a),{guards:OV(a.targetSnapshot,a.currentSnapshot,this.rootContexts)})),function(n,e){return He(t=>{const{targetSnapshot:i,currentSnapshot:r,guards:{canActivateChecks:s,canDeactivateChecks:o}}=t;return 0===o.length&&0===s.length?j(Object.assign(Object.assign({},t),{guardsResult:!0})):function(n,e,t,i){return Ye(n).pipe(He(r=>function(n,e,t,i,r){const s=e&&e.routeConfig?e.routeConfig.canDeactivate:null;return s&&0!==s.length?j(s.map(a=>{const l=yc(a,e,r);let c;if(function(n){return n&&Fi(n.canDeactivate)}(l))c=qn(l.canDeactivate(n,e,t,i));else{if(!Fi(l))throw new Error("Invalid CanDeactivate guard");c=qn(l(n,e,t,i))}return c.pipe(vs())})).pipe($o()):j(!0)}(r.component,r.route,t,e,i)),vs(r=>!0!==r,!0))}(o,i,r,n).pipe(He(a=>a&&function(n){return"boolean"==typeof n}(a)?function(n,e,t,i){return Ye(e).pipe(gs(r=>No(function(n,e){return null!==n&&e&&e(new SL(n)),j(!0)}(r.route.parent,i),function(n,e){return null!==n&&e&&e(new IL(n)),j(!0)}(r.route,i),function(n,e,t){const i=e[e.length-1],s=e.slice(0,e.length-1).reverse().map(o=>function(n){const e=n.routeConfig?n.routeConfig.canActivateChild:null;return e&&0!==e.length?{node:n,guards:e}:null}(o)).filter(o=>null!==o).map(o=>ic(()=>j(o.guards.map(l=>{const c=yc(l,o.node,t);let u;if(function(n){return n&&Fi(n.canActivateChild)}(c))u=qn(c.canActivateChild(i,n));else{if(!Fi(c))throw new Error("Invalid CanActivateChild guard");u=qn(c(i,n))}return u.pipe(vs())})).pipe($o())));return j(s).pipe($o())}(n,r.path,t),function(n,e,t){const i=e.routeConfig?e.routeConfig.canActivate:null;if(!i||0===i.length)return j(!0);const r=i.map(s=>ic(()=>{const o=yc(s,e,t);let a;if(function(n){return n&&Fi(n.canActivate)}(o))a=qn(o.canActivate(e,n));else{if(!Fi(o))throw new Error("Invalid CanActivate guard");a=qn(o(e,n))}return a.pipe(vs())}));return j(r).pipe($o())}(n,r.route,t))),vs(r=>!0!==r,!0))}(i,s,n,e):j(a)),Z(a=>Object.assign(Object.assign({},t),{guardsResult:a})))})}(this.ngModule.injector,a=>this.triggerEvent(a)),Ot(a=>{if(rr(a.guardsResult)){const c=Nf(`Redirecting to "${this.serializeUrl(a.guardsResult)}"`);throw c.url=a.guardsResult,c}const l=new xL(a.id,this.serializeUrl(a.extractedUrl),this.serializeUrl(a.urlAfterRedirects),a.targetSnapshot,!!a.guardsResult);this.triggerEvent(l)}),Yt(a=>!!a.guardsResult||(this.restoreHistory(a),this.cancelNavigationTransition(a,""),!1)),Jf(a=>{if(a.guards.canActivateChecks.length)return j(a).pipe(Ot(l=>{const c=new EL(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}),Sn(l=>{let c=!1;return j(l).pipe(function(n,e){return He(t=>{const{targetSnapshot:i,guards:{canActivateChecks:r}}=t;if(!r.length)return j(t);let s=0;return Ye(r).pipe(gs(o=>function(n,e,t,i){return function(n,e,t,i){const r=Object.keys(n);if(0===r.length)return j({});const s={};return Ye(r).pipe(He(o=>function(n,e,t,i){const r=yc(n,e,i);return qn(r.resolve?r.resolve(e,t):r(e,t))}(n[o],e,t,i).pipe(Ot(a=>{s[o]=a}))),Rf(1),He(()=>Object.keys(s).length===r.length?j(s):Xn))}(n._resolve,n,e,i).pipe(Z(s=>(n._resolvedData=s,n.data=Object.assign(Object.assign({},n.data),x0(n,t).resolve),null)))}(o.route,i,n,e)),Ot(()=>s++),Rf(1),He(o=>s===r.length?j(t):Xn))})}(this.paramsInheritanceStrategy,this.ngModule.injector),Ot({next:()=>c=!0,complete:()=>{c||(this.restoreHistory(l),this.cancelNavigationTransition(l,"At least one route resolver didn't emit any value."))}}))}),Ot(l=>{const c=new ML(l.id,this.serializeUrl(l.extractedUrl),this.serializeUrl(l.urlAfterRedirects),l.targetSnapshot);this.triggerEvent(c)}))}),Jf(a=>{const{targetSnapshot:l,id:c,extractedUrl:u,rawUrl:d,extras:{skipLocationChange:h,replaceUrl:f}}=a;return this.hooks.afterPreactivation(l,{navigationId:c,appliedUrlTree:u,rawUrlTree:d,skipLocationChange:!!h,replaceUrl:!!f})}),Z(a=>{const l=function(n,e,t){const i=jo(n,e._root,t?t._root:void 0);return new D0(i,e)}(this.routeReuseStrategy,a.targetSnapshot,a.currentRouterState);return Object.assign(Object.assign({},a),{targetRouterState:l})}),Ot(a=>{this.currentUrlTree=a.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(a.urlAfterRedirects,a.rawUrl),this.routerState=a.targetRouterState,"deferred"===this.urlUpdateStrategy&&(a.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,a),this.browserUrlTree=a.urlAfterRedirects)}),((n,e,t)=>Z(i=>(new uV(e,i.targetRouterState,i.currentRouterState,t).activate(n),i)))(this.rootContexts,this.routeReuseStrategy,a=>this.triggerEvent(a)),Ot({next(){s=!0},complete(){s=!0}}),function(n){return je((e,t)=>{try{e.subscribe(t)}finally{t.add(n)}})}(()=>{var a;s||o||this.cancelNavigationTransition(r,`Navigation ID ${r.id} is not equal to the current navigation id ${this.navigationId}`),(null===(a=this.currentNavigation)||void 0===a?void 0:a.id)===r.id&&(this.currentNavigation=null)}),st(a=>{if(o=!0,function(n){return n&&n[a0]}(a)){const l=rr(a.url);l||(this.navigated=!0,this.restoreHistory(r,!0));const c=new n0(r.id,this.serializeUrl(r.extractedUrl),a.message);i.next(c),l?setTimeout(()=>{const u=this.urlHandlingStrategy.merge(a.url,this.rawUrlTree),d={skipLocationChange:r.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||_c(r.source)};this.scheduleNavigation(u,"imperative",null,d,{resolve:r.resolve,reject:r.reject,promise:r.promise})},0):r.resolve(!1)}else{this.restoreHistory(r,!0);const l=new CL(r.id,this.serializeUrl(r.extractedUrl),a);i.next(l);try{r.resolve(this.errorHandler(a))}catch(c){r.reject(c)}}return Xn}))}))}resetRootComponentType(t){this.rootComponentType=t,this.routerState.root.component=this.rootComponentType}setTransition(t){this.transitions.next(Object.assign(Object.assign({},this.transitions.value),t))}initialNavigation(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(t=>{const i="popstate"===t.type?"popstate":"hashchange";"popstate"===i&&setTimeout(()=>{var r;const s={replaceUrl:!0},o=(null===(r=t.state)||void 0===r?void 0:r.navigationId)?t.state:null;if(o){const l=Object.assign({},o);delete l.navigationId,delete l.\u0275routerPageId,0!==Object.keys(l).length&&(s.state=l)}const a=this.parseUrl(t.url);this.scheduleNavigation(a,i,o,s)},0)}))}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.currentNavigation}triggerEvent(t){this.events.next(t)}resetConfig(t){k0(t),this.config=t.map(Yf),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.transitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0}createUrlTree(t,i={}){const{relativeTo:r,queryParams:s,fragment:o,queryParamsHandling:a,preserveFragment:l}=i,c=r||this.routerState.root,u=l?this.currentUrlTree.fragment:o;let d=null;switch(a){case"merge":d=Object.assign(Object.assign({},this.currentUrlTree.queryParams),s);break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=s||null}return null!==d&&(d=this.removeEmptyProps(d)),function(n,e,t,i,r){if(0===t.length)return $f(e.root,e.root,e,i,r);const s=function(n){if("string"==typeof n[0]&&1===n.length&&"/"===n[0])return new A0(!0,0,n);let e=0,t=!1;const i=n.reduce((r,s,o)=>{if("object"==typeof s&&null!=s){if(s.outlets){const a={};return at(s.outlets,(l,c)=>{a[c]="string"==typeof l?l.split("/"):l}),[...r,{outlets:a}]}if(s.segmentPath)return[...r,s.segmentPath]}return"string"!=typeof s?[...r,s]:0===o?(s.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?t=!0:".."===a?e++:""!=a&&r.push(a))}),r):[...r,s]},[]);return new A0(t,e,i)}(t);if(s.toRoot())return $f(e.root,new se([],{}),e,i,r);const o=function(n,e,t){if(n.isAbsolute)return new zf(e.root,!0,0);if(-1===t.snapshot._lastPathIndex){const s=t.snapshot._urlSegment;return new zf(s,s===e.root,0)}const i=uc(n.commands[0])?0:1;return function(n,e,t){let i=n,r=e,s=t;for(;s>r;){if(s-=r,i=i.parent,!i)throw new Error("Invalid number of '../'");r=i.segments.length}return new zf(i,!1,r-s)}(t.snapshot._urlSegment,t.snapshot._lastPathIndex+i,n.numberOfDoubleDots)}(s,e,n),a=o.processChildren?dc(o.segmentGroup,o.index,s.commands):I0(o.segmentGroup,o.index,s.commands);return $f(o.segmentGroup,a,e,i,r)}(c,this.currentUrlTree,t,d,null!=u?u:null)}navigateByUrl(t,i={skipLocationChange:!1}){const r=rr(t)?t:this.parseUrl(t),s=this.urlHandlingStrategy.merge(r,this.rawUrlTree);return this.scheduleNavigation(s,"imperative",null,i)}navigate(t,i={skipLocationChange:!1}){return function(n){for(let e=0;e<n.length;e++){const t=n[e];if(null==t)throw new Error(`The requested path contains ${t} segment at index ${e}`)}}(t),this.navigateByUrl(this.createUrlTree(t,i),i)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){let i;try{i=this.urlSerializer.parse(t)}catch(r){i=this.malformedUriErrorHandler(r,this.urlSerializer,t)}return i}isActive(t,i){let r;if(r=!0===i?Object.assign({},l2):!1===i?Object.assign({},c2):i,rr(t))return h0(this.currentUrlTree,t,r);const s=this.parseUrl(t);return h0(this.currentUrlTree,s,r)}removeEmptyProps(t){return Object.keys(t).reduce((i,r)=>{const s=t[r];return null!=s&&(i[r]=s),i},{})}processNavigations(){this.navigations.subscribe(t=>{this.navigated=!0,this.lastSuccessfulId=t.id,this.currentPageId=t.targetPageId,this.events.next(new Lo(t.id,this.serializeUrl(t.extractedUrl),this.serializeUrl(this.currentUrlTree))),this.lastSuccessfulNavigation=this.currentNavigation,t.resolve(!0)},t=>{this.console.warn(`Unhandled Navigation Error: ${t}`)})}scheduleNavigation(t,i,r,s,o){var a,l,c;if(this.disposed)return Promise.resolve(!1);const u=this.transitions.value,d=_c(i)&&u&&!_c(u.source),h=u.rawUrl.toString()===t.toString(),f=u.id===(null===(a=this.currentNavigation)||void 0===a?void 0:a.id);if(d&&h&&f)return Promise.resolve(!0);let g,_,v;o?(g=o.resolve,_=o.reject,v=o.promise):v=new Promise((C,w)=>{g=C,_=w});const b=++this.navigationId;let D;return"computed"===this.canceledNavigationResolution?(0===this.currentPageId&&(r=this.location.getState()),D=r&&r.\u0275routerPageId?r.\u0275routerPageId:s.replaceUrl||s.skipLocationChange?null!==(l=this.browserPageId)&&void 0!==l?l:0:(null!==(c=this.browserPageId)&&void 0!==c?c:0)+1):D=0,this.setTransition({id:b,targetPageId:D,source:i,restoredState:r,currentUrlTree:this.currentUrlTree,currentRawUrl:this.rawUrlTree,rawUrl:t,extras:s,resolve:g,reject:_,promise:v,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),v.catch(C=>Promise.reject(C))}setBrowserUrl(t,i){const r=this.urlSerializer.serialize(t),s=Object.assign(Object.assign({},i.extras.state),this.generateNgRouterState(i.id,i.targetPageId));this.location.isCurrentPathEqualTo(r)||i.extras.replaceUrl?this.location.replaceState(r,"",s):this.location.go(r,"",s)}restoreHistory(t,i=!1){var r,s;if("computed"===this.canceledNavigationResolution){const o=this.currentPageId-t.targetPageId;"popstate"!==t.source&&"eager"!==this.urlUpdateStrategy&&this.currentUrlTree!==(null===(r=this.currentNavigation)||void 0===r?void 0:r.finalUrl)||0===o?this.currentUrlTree===(null===(s=this.currentNavigation)||void 0===s?void 0:s.finalUrl)&&0===o&&(this.resetState(t),this.browserUrlTree=t.currentUrlTree,this.resetUrlToCurrentUrlTree()):this.location.historyGo(o)}else"replace"===this.canceledNavigationResolution&&(i&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=t.currentRouterState,this.currentUrlTree=t.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}cancelNavigationTransition(t,i){const r=new n0(t.id,this.serializeUrl(t.extractedUrl),i);this.triggerEvent(r),t.resolve(!1)}generateNgRouterState(t,i){return"computed"===this.canceledNavigationResolution?{navigationId:t,\u0275routerPageId:i}:{navigationId:t}}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function _c(n){return"imperative"!==n}class K0{}class J0{preload(e,t){return j(null)}}let Z0=(()=>{class n{constructor(t,i,r,s){this.router=t,this.injector=r,this.preloadingStrategy=s,this.loader=new q0(r,i,l=>t.triggerEvent(new r0(l)),l=>t.triggerEvent(new s0(l)))}setUpPreloading(){this.subscription=this.router.events.pipe(Yt(t=>t instanceof Lo),gs(()=>this.preload())).subscribe(()=>{})}preload(){const t=this.injector.get(oi);return this.processRoutes(t,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(t,i){const r=[];for(const s of i)if(s.loadChildren&&!s.canLoad&&s._loadedConfig){const o=s._loadedConfig;r.push(this.processRoutes(o.module,o.routes))}else s.loadChildren&&!s.canLoad?r.push(this.preloadConfig(t,s)):s.children&&r.push(this.processRoutes(t,s.children));return Ye(r).pipe(Os(),Z(s=>{}))}preloadConfig(t,i){return this.preloadingStrategy.preload(i,()=>(i._loadedConfig?j(i._loadedConfig):this.loader.load(t.injector,i)).pipe(He(s=>(i._loadedConfig=s,this.processRoutes(s.module,s.routes)))))}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(Ml),P(rt),P(K0))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),ep=(()=>{class n{constructor(t,i,r={}){this.router=t,this.viewportScroller=i,this.options=r,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},r.scrollPositionRestoration=r.scrollPositionRestoration||"disabled",r.anchorScrolling=r.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.router.events.subscribe(t=>{t instanceof Ff?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=t.navigationTrigger,this.restoredId=t.restoredState?t.restoredState.navigationId:0):t instanceof Lo&&(this.lastId=t.id,this.scheduleScrollEvent(t,this.router.parseUrl(t.urlAfterRedirects).fragment))})}consumeScrollEvents(){return this.router.events.subscribe(t=>{t instanceof o0&&(t.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(t.position):t.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(t.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(t,i){this.router.triggerEvent(new o0(t,"popstate"===this.lastSource?this.store[this.restoredId]:null,i))}ngOnDestroy(){this.routerEventsSubscription&&this.routerEventsSubscription.unsubscribe(),this.scrollEventsSubscription&&this.scrollEventsSubscription.unsubscribe()}}return n.\u0275fac=function(t){Zd()},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();const sr=new z("ROUTER_CONFIGURATION"),X0=new z("ROUTER_FORROOT_GUARD"),p2=[Hh,{provide:m0,useClass:y0},{provide:Pt,useFactory:function(n,e,t,i,r,s,o={},a,l){const c=new Pt(null,n,e,t,i,r,c0(s));return a&&(c.urlHandlingStrategy=a),l&&(c.routeReuseStrategy=l),function(n,e){n.errorHandler&&(e.errorHandler=n.errorHandler),n.malformedUriErrorHandler&&(e.malformedUriErrorHandler=n.malformedUriErrorHandler),n.onSameUrlNavigation&&(e.onSameUrlNavigation=n.onSameUrlNavigation),n.paramsInheritanceStrategy&&(e.paramsInheritanceStrategy=n.paramsInheritanceStrategy),n.relativeLinkResolution&&(e.relativeLinkResolution=n.relativeLinkResolution),n.urlUpdateStrategy&&(e.urlUpdateStrategy=n.urlUpdateStrategy),n.canceledNavigationResolution&&(e.canceledNavigationResolution=n.canceledNavigationResolution)}(o,c),o.enableTracing&&c.events.subscribe(u=>{var d,h;null===(d=console.group)||void 0===d||d.call(console,`Router Event: ${u.constructor.name}`),console.log(u.toString()),console.log(u),null===(h=console.groupEnd)||void 0===h||h.call(console)}),c},deps:[m0,zo,Hh,rt,Ml,Zf,sr,[class{},new Fn],[class{},new Fn]]},zo,{provide:Ds,useFactory:function(n){return n.routerState.root},deps:[Pt]},Z0,J0,class{preload(e,t){return t().pipe(st(()=>j(null)))}},{provide:sr,useValue:{enableTracing:!1}}];function g2(){return new Vb("Router",Pt)}let Q0=(()=>{class n{constructor(t,i){}static forRoot(t,i){return{ngModule:n,providers:[p2,ew(t),{provide:X0,useFactory:_2,deps:[[Pt,new Fn,new Fr]]},{provide:sr,useValue:i||{}},{provide:ps,useFactory:y2,deps:[Qi,[new Ks(Il),new Fn],sr]},{provide:ep,useFactory:m2,deps:[Pt,fF,sr]},{provide:K0,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:J0},{provide:Vb,multi:!0,useFactory:g2},[tp,{provide:bo,multi:!0,useFactory:D2,deps:[tp]},{provide:tw,useFactory:w2,deps:[tp]},{provide:Ob,multi:!0,useExisting:tw}]]}}static forChild(t){return{ngModule:n,providers:[ew(t)]}}}return n.\u0275fac=function(t){return new(t||n)(P(X0,8),P(Pt,8))},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({}),n})();function m2(n,e,t){return t.scrollOffset&&e.setOffset(t.scrollOffset),new ep(n,e,t)}function y2(n,e,t={}){return t.useHash?new Wk(n,e):new oC(n,e)}function _2(n){return"guarded"}function ew(n){return[{provide:uS,multi:!0,useValue:n},{provide:Zf,multi:!0,useValue:n}]}let tp=(()=>{class n{constructor(t){this.injector=t,this.initNavigation=!1,this.destroyed=!1,this.resultOfPreactivationDone=new Jt}appInitializer(){return this.injector.get(Uk,Promise.resolve(null)).then(()=>{if(this.destroyed)return Promise.resolve(!0);let i=null;const r=new Promise(a=>i=a),s=this.injector.get(Pt),o=this.injector.get(sr);return"disabled"===o.initialNavigation?(s.setUpLocationChangeListener(),i(!0)):"enabled"===o.initialNavigation||"enabledBlocking"===o.initialNavigation?(s.hooks.afterPreactivation=()=>this.initNavigation?j(null):(this.initNavigation=!0,i(!0),this.resultOfPreactivationDone),s.initialNavigation()):i(!0),r})}bootstrapListener(t){const i=this.injector.get(sr),r=this.injector.get(Z0),s=this.injector.get(ep),o=this.injector.get(Pt),a=this.injector.get(hs);t===a.components[0]&&(("enabledNonBlocking"===i.initialNavigation||void 0===i.initialNavigation)&&o.initialNavigation(),r.setUpPreloading(),s.init(),o.resetRootComponentType(a.componentTypes[0]),this.resultOfPreactivationDone.next(null),this.resultOfPreactivationDone.complete())}ngOnDestroy(){this.destroyed=!0}}return n.\u0275fac=function(t){return new(t||n)(P(rt))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();function D2(n){return n.appInitializer.bind(n)}function w2(n){return n.bootstrapListener.bind(n)}const tw=new z("Router Initializer"),nw="undefined"==typeof window?function(n){return n()}:window.requestAnimationFrame;function iw(n,e,t){const i=t||(o=>Array.prototype.slice.call(o));let r=!1,s=[];return function(...o){s=i(o),r||(r=!0,nw.call(window,()=>{r=!1,n.apply(e,s)}))}}const np=n=>"start"===n?"left":"end"===n?"right":"center",pt=(n,e,t)=>"start"===n?e:"end"===n?t:(e+t)/2;function hi(){}const S2=function(){let n=0;return function(){return n++}}();function de(n){return null==n}function we(n){if(Array.isArray&&Array.isArray(n))return!0;const e=Object.prototype.toString.call(n);return"[object"===e.substr(0,7)&&"Array]"===e.substr(-6)}function oe(n){return null!==n&&"[object Object]"===Object.prototype.toString.call(n)}const Be=n=>("number"==typeof n||n instanceof Number)&&isFinite(+n);function cn(n,e){return Be(n)?n:e}function K(n,e){return void 0===n?e:n}const rw=(n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100*e:+n;function xe(n,e,t){if(n&&"function"==typeof n.call)return n.apply(t,e)}function pe(n,e,t,i){let r,s,o;if(we(n))if(s=n.length,i)for(r=s-1;r>=0;r--)e.call(t,n[r],r);else for(r=0;r<s;r++)e.call(t,n[r],r);else if(oe(n))for(o=Object.keys(n),s=o.length,r=0;r<s;r++)e.call(t,n[o[r]],o[r])}function vc(n,e){let t,i,r,s;if(!n||!e||n.length!==e.length)return!1;for(t=0,i=n.length;t<i;++t)if(r=n[t],s=e[t],r.datasetIndex!==s.datasetIndex||r.index!==s.index)return!1;return!0}function bc(n){if(we(n))return n.map(bc);if(oe(n)){const e=Object.create(null),t=Object.keys(n),i=t.length;let r=0;for(;r<i;++r)e[t[r]]=bc(n[t[r]]);return e}return n}function sw(n){return-1===["__proto__","prototype","constructor"].indexOf(n)}function I2(n,e,t,i){if(!sw(n))return;const r=e[n],s=t[n];oe(r)&&oe(s)?Yo(r,s,i):e[n]=bc(s)}function Yo(n,e,t){const i=we(e)?e:[e],r=i.length;if(!oe(n))return n;const s=(t=t||{}).merger||I2;for(let o=0;o<r;++o){if(!oe(e=i[o]))continue;const a=Object.keys(e);for(let l=0,c=a.length;l<c;++l)s(a[l],n,e,t)}return n}function Ko(n,e){return Yo(n,e,{merger:T2})}function T2(n,e,t){if(!sw(n))return;const i=e[n],r=t[n];oe(i)&&oe(r)?Ko(i,r):Object.prototype.hasOwnProperty.call(e,n)||(e[n]=bc(r))}function ow(n,e){const t=n.indexOf(".",e);return-1===t?n.length:t}function or(n,e){if(""===e)return n;let t=0,i=ow(e,t);for(;n&&i>t;)n=n[e.substr(t,i-t)],t=i+1,i=ow(e,t);return n}function ip(n){return n.charAt(0).toUpperCase()+n.slice(1)}const un=n=>void 0!==n,Ni=n=>"function"==typeof n,aw=(n,e)=>{if(n.size!==e.size)return!1;for(const t of n)if(!e.has(t))return!1;return!0},Ae=Math.PI,_e=2*Ae,R2=_e+Ae,Cc=Number.POSITIVE_INFINITY,F2=Ae/180,Fe=Ae/2,Jo=Ae/4,lw=2*Ae/3,dn=Math.log10,Yn=Math.sign;function cw(n){const e=Math.round(n);n=Xo(n,e,n/1e3)?e:n;const t=Math.pow(10,Math.floor(dn(n))),i=n/t;return(i<=1?1:i<=2?2:i<=5?5:10)*t}function Zo(n){return!isNaN(parseFloat(n))&&isFinite(n)}function Xo(n,e,t){return Math.abs(n-e)<t}function uw(n,e,t){let i,r,s;for(i=0,r=n.length;i<r;i++)s=n[i][t],isNaN(s)||(e.min=Math.min(e.min,s),e.max=Math.max(e.max,s))}function An(n){return n*(Ae/180)}function rp(n){return n*(180/Ae)}function dw(n){if(!Be(n))return;let e=1,t=0;for(;Math.round(n*e)/e!==n;)e*=10,t++;return t}function hw(n,e){const t=e.x-n.x,i=e.y-n.y,r=Math.sqrt(t*t+i*i);let s=Math.atan2(i,t);return s<-.5*Ae&&(s+=_e),{angle:s,distance:r}}function sp(n,e){return Math.sqrt(Math.pow(e.x-n.x,2)+Math.pow(e.y-n.y,2))}function V2(n,e){return(n-e+R2)%_e-Ae}function Kt(n){return(n%_e+_e)%_e}function Qo(n,e,t,i){const r=Kt(n),s=Kt(e),o=Kt(t),a=Kt(s-r),l=Kt(o-r),c=Kt(r-s),u=Kt(r-o);return r===s||r===o||i&&s===o||a>l&&c<u}function ot(n,e,t){return Math.max(e,Math.min(t,n))}function fi(n,e,t,i=1e-6){return n>=Math.min(e,t)-i&&n<=Math.max(e,t)+i}const Dc=n=>0===n||1===n,fw=(n,e,t)=>-Math.pow(2,10*(n-=1))*Math.sin((n-e)*_e/t),pw=(n,e,t)=>Math.pow(2,-10*n)*Math.sin((n-e)*_e/t)+1,ea={linear:n=>n,easeInQuad:n=>n*n,easeOutQuad:n=>-n*(n-2),easeInOutQuad:n=>(n/=.5)<1?.5*n*n:-.5*(--n*(n-2)-1),easeInCubic:n=>n*n*n,easeOutCubic:n=>(n-=1)*n*n+1,easeInOutCubic:n=>(n/=.5)<1?.5*n*n*n:.5*((n-=2)*n*n+2),easeInQuart:n=>n*n*n*n,easeOutQuart:n=>-((n-=1)*n*n*n-1),easeInOutQuart:n=>(n/=.5)<1?.5*n*n*n*n:-.5*((n-=2)*n*n*n-2),easeInQuint:n=>n*n*n*n*n,easeOutQuint:n=>(n-=1)*n*n*n*n+1,easeInOutQuint:n=>(n/=.5)<1?.5*n*n*n*n*n:.5*((n-=2)*n*n*n*n+2),easeInSine:n=>1-Math.cos(n*Fe),easeOutSine:n=>Math.sin(n*Fe),easeInOutSine:n=>-.5*(Math.cos(Ae*n)-1),easeInExpo:n=>0===n?0:Math.pow(2,10*(n-1)),easeOutExpo:n=>1===n?1:1-Math.pow(2,-10*n),easeInOutExpo:n=>Dc(n)?n:n<.5?.5*Math.pow(2,10*(2*n-1)):.5*(2-Math.pow(2,-10*(2*n-1))),easeInCirc:n=>n>=1?n:-(Math.sqrt(1-n*n)-1),easeOutCirc:n=>Math.sqrt(1-(n-=1)*n),easeInOutCirc:n=>(n/=.5)<1?-.5*(Math.sqrt(1-n*n)-1):.5*(Math.sqrt(1-(n-=2)*n)+1),easeInElastic:n=>Dc(n)?n:fw(n,.075,.3),easeOutElastic:n=>Dc(n)?n:pw(n,.075,.3),easeInOutElastic(n){const e=.1125;return Dc(n)?n:n<.5?.5*fw(2*n,e,.45):.5+.5*pw(2*n-1,e,.45)},easeInBack(n){const e=1.70158;return n*n*((e+1)*n-e)},easeOutBack(n){const e=1.70158;return(n-=1)*n*((e+1)*n+e)+1},easeInOutBack(n){let e=1.70158;return(n/=.5)<1?n*n*((1+(e*=1.525))*n-e)*.5:.5*((n-=2)*n*((1+(e*=1.525))*n+e)+2)},easeInBounce:n=>1-ea.easeOutBounce(1-n),easeOutBounce(n){const e=7.5625,t=2.75;return n<1/t?e*n*n:n<2/t?e*(n-=1.5/t)*n+.75:n<2.5/t?e*(n-=2.25/t)*n+.9375:e*(n-=2.625/t)*n+.984375},easeInOutBounce:n=>n<.5?.5*ea.easeInBounce(2*n):.5*ea.easeOutBounce(2*n-1)+.5},hn={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},op="0123456789ABCDEF",j2=n=>op[15&n],H2=n=>op[(240&n)>>4]+op[15&n],wc=n=>(240&n)>>4==(15&n);function ta(n){return n+.5|0}const xc=(n,e,t)=>Math.max(Math.min(n,t),e);function na(n){return xc(ta(2.55*n),0,255)}function ia(n){return xc(ta(255*n),0,255)}function ap(n){return xc(ta(n/2.55)/100,0,1)}function gw(n){return xc(ta(100*n),0,100)}const W2=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/,Y2=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function mw(n,e,t){const i=e*Math.min(t,1-t),r=(s,o=(s+n/30)%12)=>t-i*Math.max(Math.min(o-3,9-o,1),-1);return[r(0),r(8),r(4)]}function K2(n,e,t){const i=(r,s=(r+n/60)%6)=>t-t*e*Math.max(Math.min(s,4-s,1),0);return[i(5),i(3),i(1)]}function J2(n,e,t){const i=mw(n,1,.5);let r;for(e+t>1&&(r=1/(e+t),e*=r,t*=r),r=0;r<3;r++)i[r]*=1-e-t,i[r]+=e;return i}function lp(n){const t=n.r/255,i=n.g/255,r=n.b/255,s=Math.max(t,i,r),o=Math.min(t,i,r),a=(s+o)/2;let l,c,u;return s!==o&&(u=s-o,c=a>.5?u/(2-s-o):u/(s+o),l=s===t?(i-r)/u+(i<r?6:0):s===i?(r-t)/u+2:(t-i)/u+4,l=60*l+.5),[0|l,c||0,a]}function cp(n,e,t,i){return(Array.isArray(e)?n(e[0],e[1],e[2]):n(e,t,i)).map(ia)}function up(n,e,t){return cp(mw,n,e,t)}function yw(n){return(n%360+360)%360}const _w={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},vw={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};let Ec;function Mc(n,e,t){if(n){let i=lp(n);i[e]=Math.max(0,Math.min(i[e]+i[e]*t,0===e?360:1)),i=up(i),n.r=i[0],n.g=i[1],n.b=i[2]}}function bw(n,e){return n&&Object.assign(e||{},n)}function Cw(n){var e={r:0,g:0,b:0,a:255};return Array.isArray(n)?n.length>=3&&(e={r:n[0],g:n[1],b:n[2],a:255},n.length>3&&(e.a=ia(n[3]))):(e=bw(n,{r:0,g:0,b:0,a:1})).a=ia(e.a),e}function rB(n){return"r"===n.charAt(0)?function(n){const e=W2.exec(n);let i,r,s,t=255;if(e){if(e[7]!==i){const o=+e[7];t=255&(e[8]?na(o):255*o)}return i=+e[1],r=+e[3],s=+e[5],i=255&(e[2]?na(i):i),r=255&(e[4]?na(r):r),s=255&(e[6]?na(s):s),{r:i,g:r,b:s,a:t}}}(n):function(n){const e=Y2.exec(n);let i,t=255;if(!e)return;e[5]!==i&&(t=e[6]?na(+e[5]):ia(+e[5]));const r=yw(+e[2]),s=+e[3]/100,o=+e[4]/100;return i="hwb"===e[1]?function(n,e,t){return cp(J2,n,e,t)}(r,s,o):"hsv"===e[1]?function(n,e,t){return cp(K2,n,e,t)}(r,s,o):up(r,s,o),{r:i[0],g:i[1],b:i[2],a:t}}(n)}class Sc{constructor(e){if(e instanceof Sc)return e;const t=typeof e;let i;"object"===t?i=Cw(e):"string"===t&&(i=function(n){var t,e=n.length;return"#"===n[0]&&(4===e||5===e?t={r:255&17*hn[n[1]],g:255&17*hn[n[2]],b:255&17*hn[n[3]],a:5===e?17*hn[n[4]]:255}:(7===e||9===e)&&(t={r:hn[n[1]]<<4|hn[n[2]],g:hn[n[3]]<<4|hn[n[4]],b:hn[n[5]]<<4|hn[n[6]],a:9===e?hn[n[7]]<<4|hn[n[8]]:255})),t}(e)||function(n){Ec||(Ec=function(){const n={},e=Object.keys(vw),t=Object.keys(_w);let i,r,s,o,a;for(i=0;i<e.length;i++){for(o=a=e[i],r=0;r<t.length;r++)s=t[r],a=a.replace(s,_w[s]);s=parseInt(vw[o],16),n[a]=[s>>16&255,s>>8&255,255&s]}return n}(),Ec.transparent=[0,0,0,0]);const e=Ec[n.toLowerCase()];return e&&{r:e[0],g:e[1],b:e[2],a:4===e.length?e[3]:255}}(e)||rB(e)),this._rgb=i,this._valid=!!i}get valid(){return this._valid}get rgb(){var e=bw(this._rgb);return e&&(e.a=ap(e.a)),e}set rgb(e){this._rgb=Cw(e)}rgbString(){return this._valid?(n=this._rgb)&&(n.a<255?`rgba(${n.r}, ${n.g}, ${n.b}, ${ap(n.a)})`:`rgb(${n.r}, ${n.g}, ${n.b})`):this._rgb;var n}hexString(){return this._valid?function(n){var e=function(n){return wc(n.r)&&wc(n.g)&&wc(n.b)&&wc(n.a)}(n)?j2:H2;return n&&"#"+e(n.r)+e(n.g)+e(n.b)+(n.a<255?e(n.a):"")}(this._rgb):this._rgb}hslString(){return this._valid?function(n){if(!n)return;const e=lp(n),t=e[0],i=gw(e[1]),r=gw(e[2]);return n.a<255?`hsla(${t}, ${i}%, ${r}%, ${ap(n.a)})`:`hsl(${t}, ${i}%, ${r}%)`}(this._rgb):this._rgb}mix(e,t){const i=this;if(e){const r=i.rgb,s=e.rgb;let o;const a=t===o?.5:t,l=2*a-1,c=r.a-s.a,u=((l*c==-1?l:(l+c)/(1+l*c))+1)/2;o=1-u,r.r=255&u*r.r+o*s.r+.5,r.g=255&u*r.g+o*s.g+.5,r.b=255&u*r.b+o*s.b+.5,r.a=a*r.a+(1-a)*s.a,i.rgb=r}return i}clone(){return new Sc(this.rgb)}alpha(e){return this._rgb.a=ia(e),this}clearer(e){return this._rgb.a*=1-e,this}greyscale(){const e=this._rgb,t=ta(.3*e.r+.59*e.g+.11*e.b);return e.r=e.g=e.b=t,this}opaquer(e){return this._rgb.a*=1+e,this}negate(){const e=this._rgb;return e.r=255-e.r,e.g=255-e.g,e.b=255-e.b,this}lighten(e){return Mc(this._rgb,2,e),this}darken(e){return Mc(this._rgb,2,-e),this}saturate(e){return Mc(this._rgb,1,e),this}desaturate(e){return Mc(this._rgb,1,-e),this}rotate(e){return function(n,e){var t=lp(n);t[0]=yw(t[0]+e),t=up(t),n.r=t[0],n.g=t[1],n.b=t[2]}(this._rgb,e),this}}function Dw(n){return new Sc(n)}const ww=n=>n instanceof CanvasGradient||n instanceof CanvasPattern;function xw(n){return ww(n)?n:Dw(n)}function dp(n){return ww(n)?n:Dw(n).saturate(.5).darken(.1).hexString()}const ar=Object.create(null),hp=Object.create(null);function ra(n,e){if(!e)return n;const t=e.split(".");for(let i=0,r=t.length;i<r;++i){const s=t[i];n=n[s]||(n[s]=Object.create(null))}return n}function fp(n,e,t){return"string"==typeof e?Yo(ra(n,e),t):Yo(ra(n,""),e)}var ae=new class{constructor(e){this.animation=void 0,this.backgroundColor="rgba(0,0,0,0.1)",this.borderColor="rgba(0,0,0,0.1)",this.color="#666",this.datasets={},this.devicePixelRatio=t=>t.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(t,i)=>dp(i.backgroundColor),this.hoverBorderColor=(t,i)=>dp(i.borderColor),this.hoverColor=(t,i)=>dp(i.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(e)}set(e,t){return fp(this,e,t)}get(e){return ra(this,e)}describe(e,t){return fp(hp,e,t)}override(e,t){return fp(ar,e,t)}route(e,t,i,r){const s=ra(this,e),o=ra(this,i),a="_"+t;Object.defineProperties(s,{[a]:{value:s[t],writable:!0},[t]:{enumerable:!0,get(){const l=this[a],c=o[r];return oe(l)?Object.assign({},c,l):K(l,c)},set(l){this[a]=l}}})}}({_scriptable:n=>!n.startsWith("on"),_indexable:n=>"events"!==n,hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}});function Ac(n,e,t,i,r){let s=e[r];return s||(s=e[r]=n.measureText(r).width,t.push(r)),s>i&&(i=s),i}function aB(n,e,t,i){let r=(i=i||{}).data=i.data||{},s=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(r=i.data={},s=i.garbageCollect=[],i.font=e),n.save(),n.font=e;let o=0;const a=t.length;let l,c,u,d,h;for(l=0;l<a;l++)if(d=t[l],null!=d&&!0!==we(d))o=Ac(n,r,s,o,d);else if(we(d))for(c=0,u=d.length;c<u;c++)h=d[c],null!=h&&!we(h)&&(o=Ac(n,r,s,o,h));n.restore();const f=s.length/2;if(f>t.length){for(l=0;l<f;l++)delete r[s[l]];s.splice(0,f)}return o}function lr(n,e,t){const i=n.currentDevicePixelRatio,r=0!==t?Math.max(t/2,.5):0;return Math.round((e-r)*i)/i+r}function Ew(n,e){(e=e||n.getContext("2d")).save(),e.resetTransform(),e.clearRect(0,0,n.width,n.height),e.restore()}function Ic(n,e,t,i){let r,s,o,a,l;const c=e.pointStyle,u=e.rotation,d=e.radius;let h=(u||0)*F2;if(c&&"object"==typeof c&&(r=c.toString(),"[object HTMLImageElement]"===r||"[object HTMLCanvasElement]"===r))return n.save(),n.translate(t,i),n.rotate(h),n.drawImage(c,-c.width/2,-c.height/2,c.width,c.height),void n.restore();if(!(isNaN(d)||d<=0)){switch(n.beginPath(),c){default:n.arc(t,i,d,0,_e),n.closePath();break;case"triangle":n.moveTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),h+=lw,n.lineTo(t+Math.sin(h)*d,i-Math.cos(h)*d),n.closePath();break;case"rectRounded":l=.516*d,a=d-l,s=Math.cos(h+Jo)*a,o=Math.sin(h+Jo)*a,n.arc(t-s,i-o,l,h-Ae,h-Fe),n.arc(t+o,i-s,l,h-Fe,h),n.arc(t+s,i+o,l,h,h+Fe),n.arc(t-o,i+s,l,h+Fe,h+Ae),n.closePath();break;case"rect":if(!u){a=Math.SQRT1_2*d,n.rect(t-a,i-a,2*a,2*a);break}h+=Jo;case"rectRot":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+o,i-s),n.lineTo(t+s,i+o),n.lineTo(t-o,i+s),n.closePath();break;case"crossRot":h+=Jo;case"cross":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"star":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s),h+=Jo,s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o),n.moveTo(t+o,i-s),n.lineTo(t-o,i+s);break;case"line":s=Math.cos(h)*d,o=Math.sin(h)*d,n.moveTo(t-s,i-o),n.lineTo(t+s,i+o);break;case"dash":n.moveTo(t,i),n.lineTo(t+Math.cos(h)*d,i+Math.sin(h)*d)}n.fill(),e.borderWidth>0&&n.stroke()}}function cr(n,e,t){return t=t||.5,!e||n&&n.x>e.left-t&&n.x<e.right+t&&n.y>e.top-t&&n.y<e.bottom+t}function Tc(n,e){n.save(),n.beginPath(),n.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),n.clip()}function Oc(n){n.restore()}function lB(n,e,t,i,r){if(!e)return n.lineTo(t.x,t.y);if("middle"===r){const s=(e.x+t.x)/2;n.lineTo(s,e.y),n.lineTo(s,t.y)}else"after"===r!=!!i?n.lineTo(e.x,t.y):n.lineTo(t.x,e.y);n.lineTo(t.x,t.y)}function cB(n,e,t,i){if(!e)return n.lineTo(t.x,t.y);n.bezierCurveTo(i?e.cp1x:e.cp2x,i?e.cp1y:e.cp2y,i?t.cp2x:t.cp1x,i?t.cp2y:t.cp1y,t.x,t.y)}function ur(n,e,t,i,r,s={}){const o=we(e)?e:[e],a=s.strokeWidth>0&&""!==s.strokeColor;let l,c;for(n.save(),n.font=r.string,function(n,e){e.translation&&n.translate(e.translation[0],e.translation[1]),de(e.rotation)||n.rotate(e.rotation),e.color&&(n.fillStyle=e.color),e.textAlign&&(n.textAlign=e.textAlign),e.textBaseline&&(n.textBaseline=e.textBaseline)}(n,s),l=0;l<o.length;++l)c=o[l],a&&(s.strokeColor&&(n.strokeStyle=s.strokeColor),de(s.strokeWidth)||(n.lineWidth=s.strokeWidth),n.strokeText(c,t,i,s.maxWidth)),n.fillText(c,t,i,s.maxWidth),dB(n,t,i,c,s),i+=r.lineHeight;n.restore()}function dB(n,e,t,i,r){if(r.strikethrough||r.underline){const s=n.measureText(i),o=e-s.actualBoundingBoxLeft,a=e+s.actualBoundingBoxRight,l=t-s.actualBoundingBoxAscent,c=t+s.actualBoundingBoxDescent,u=r.strikethrough?(l+c)/2:c;n.strokeStyle=n.fillStyle,n.beginPath(),n.lineWidth=r.decorationWidth||2,n.moveTo(o,u),n.lineTo(a,u),n.stroke()}}function Pc(n,e){const{x:t,y:i,w:r,h:s,radius:o}=e;n.arc(t+o.topLeft,i+o.topLeft,o.topLeft,-Fe,Ae,!0),n.lineTo(t,i+s-o.bottomLeft),n.arc(t+o.bottomLeft,i+s-o.bottomLeft,o.bottomLeft,Ae,Fe,!0),n.lineTo(t+r-o.bottomRight,i+s),n.arc(t+r-o.bottomRight,i+s-o.bottomRight,o.bottomRight,Fe,0,!0),n.lineTo(t+r,i+o.topRight),n.arc(t+r-o.topRight,i+o.topRight,o.topRight,0,-Fe,!0),n.lineTo(t+o.topLeft,i)}const hB=new RegExp(/^(normal|(\d+(?:\.\d+)?)(px|em|%)?)$/),fB=new RegExp(/^(normal|italic|initial|inherit|unset|(oblique( -?[0-9]?[0-9]deg)?))$/);function pB(n,e){const t=(""+n).match(hB);if(!t||"normal"===t[1])return 1.2*e;switch(n=+t[2],t[3]){case"px":return n;case"%":n/=100}return e*n}const gB=n=>+n||0;function pp(n,e){const t={},i=oe(e),r=i?Object.keys(e):e,s=oe(n)?i?o=>K(n[o],n[e[o]]):o=>n[o]:()=>n;for(const o of r)t[o]=gB(s(o));return t}function Mw(n){return pp(n,{top:"y",right:"x",bottom:"y",left:"x"})}function xs(n){return pp(n,["topLeft","topRight","bottomLeft","bottomRight"])}function gt(n){const e=Mw(n);return e.width=e.left+e.right,e.height=e.top+e.bottom,e}function et(n,e){let t=K((n=n||{}).size,(e=e||ae.font).size);"string"==typeof t&&(t=parseInt(t,10));let i=K(n.style,e.style);i&&!(""+i).match(fB)&&(console.warn('Invalid font style specified: "'+i+'"'),i="");const r={family:K(n.family,e.family),lineHeight:pB(K(n.lineHeight,e.lineHeight),t),size:t,style:i,weight:K(n.weight,e.weight),string:""};return r.string=function(n){return!n||de(n.size)||de(n.family)?null:(n.style?n.style+" ":"")+(n.weight?n.weight+" ":"")+n.size+"px "+n.family}(r),r}function sa(n,e,t,i){let s,o,a,r=!0;for(s=0,o=n.length;s<o;++s)if(a=n[s],void 0!==a&&(void 0!==e&&"function"==typeof a&&(a=a(e),r=!1),void 0!==t&&we(a)&&(a=a[t%a.length],r=!1),void 0!==a))return i&&!r&&(i.cacheable=!1),a}function Li(n,e){return Object.assign(Object.create(n),e)}function gp(n,e,t){t=t||(o=>n[o]<e);let s,i=n.length-1,r=0;for(;i-r>1;)s=r+i>>1,t(s)?r=s:i=s;return{lo:r,hi:i}}const pi=(n,e,t)=>gp(n,t,i=>n[i][e]<t),yB=(n,e,t)=>gp(n,t,i=>n[i][e]>=t),Sw=["push","pop","shift","splice","unshift"];function Aw(n,e){const t=n._chartjs;if(!t)return;const i=t.listeners,r=i.indexOf(e);-1!==r&&i.splice(r,1),!(i.length>0)&&(Sw.forEach(s=>{delete n[s]}),delete n._chartjs)}function Iw(n){const e=new Set;let t,i;for(t=0,i=n.length;t<i;++t)e.add(n[t]);return e.size===i?n:Array.from(e)}function mp(n,e=[""],t=n,i,r=(()=>n[0])){un(i)||(i=Rw("_fallback",n));const s={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:n,_rootScopes:t,_fallback:i,_getTarget:r,override:o=>mp([o,...n],e,t,i)};return new Proxy(s,{deleteProperty:(o,a)=>(delete o[a],delete o._keys,delete n[0][a],!0),get:(o,a)=>Ow(o,a,()=>function(n,e,t,i){let r;for(const s of e)if(r=Rw(bB(s,n),t),un(r))return yp(n,r)?_p(t,i,n,r):r}(a,e,n,o)),getOwnPropertyDescriptor:(o,a)=>Reflect.getOwnPropertyDescriptor(o._scopes[0],a),getPrototypeOf:()=>Reflect.getPrototypeOf(n[0]),has:(o,a)=>Fw(o).includes(a),ownKeys:o=>Fw(o),set(o,a,l){const c=o._storage||(o._storage=r());return o[a]=c[a]=l,delete o._keys,!0}})}function Es(n,e,t,i){const r={_cacheable:!1,_proxy:n,_context:e,_subProxy:t,_stack:new Set,_descriptors:Tw(n,i),setContext:s=>Es(n,s,t,i),override:s=>Es(n.override(s),e,t,i)};return new Proxy(r,{deleteProperty:(s,o)=>(delete s[o],delete n[o],!0),get:(s,o,a)=>Ow(s,o,()=>function(n,e,t){const{_proxy:i,_context:r,_subProxy:s,_descriptors:o}=n;let a=i[e];return Ni(a)&&o.isScriptable(e)&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_stack:a}=t;if(a.has(n))throw new Error("Recursion detected: "+Array.from(a).join("->")+"->"+n);return a.add(n),e=e(s,o||i),a.delete(n),yp(n,e)&&(e=_p(r._scopes,r,n,e)),e}(e,a,n,t)),we(a)&&a.length&&(a=function(n,e,t,i){const{_proxy:r,_context:s,_subProxy:o,_descriptors:a}=t;if(un(s.index)&&i(n))e=e[s.index%e.length];else if(oe(e[0])){const l=e,c=r._scopes.filter(u=>u!==l);e=[];for(const u of l){const d=_p(c,r,n,u);e.push(Es(d,s,o&&o[n],a))}}return e}(e,a,n,o.isIndexable)),yp(e,a)&&(a=Es(a,r,s&&s[e],o)),a}(s,o,a)),getOwnPropertyDescriptor:(s,o)=>s._descriptors.allKeys?Reflect.has(n,o)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(n,o),getPrototypeOf:()=>Reflect.getPrototypeOf(n),has:(s,o)=>Reflect.has(n,o),ownKeys:()=>Reflect.ownKeys(n),set:(s,o,a)=>(n[o]=a,delete s[o],!0)})}function Tw(n,e={scriptable:!0,indexable:!0}){const{_scriptable:t=e.scriptable,_indexable:i=e.indexable,_allKeys:r=e.allKeys}=n;return{allKeys:r,scriptable:t,indexable:i,isScriptable:Ni(t)?t:()=>t,isIndexable:Ni(i)?i:()=>i}}const bB=(n,e)=>n?n+ip(e):e,yp=(n,e)=>oe(e)&&"adapters"!==n&&(null===Object.getPrototypeOf(e)||e.constructor===Object);function Ow(n,e,t){if(Object.prototype.hasOwnProperty.call(n,e))return n[e];const i=t();return n[e]=i,i}function Pw(n,e,t){return Ni(n)?n(e,t):n}const xB=(n,e)=>!0===n?e:"string"==typeof n?or(e,n):void 0;function EB(n,e,t,i,r){for(const s of e){const o=xB(t,s);if(o){n.add(o);const a=Pw(o._fallback,t,r);if(un(a)&&a!==t&&a!==i)return a}else if(!1===o&&un(i)&&t!==i)return null}return!1}function _p(n,e,t,i){const r=e._rootScopes,s=Pw(e._fallback,t,i),o=[...n,...r],a=new Set;a.add(i);let l=kw(a,o,t,s||t,i);return!(null===l||un(s)&&s!==t&&(l=kw(a,o,s,l,i),null===l))&&mp(Array.from(a),[""],r,s,()=>function(n,e,t){const i=n._getTarget();e in i||(i[e]={});const r=i[e];return we(r)&&oe(t)?t:r}(e,t,i))}function kw(n,e,t,i,r){for(;t;)t=EB(n,e,t,i,r);return t}function Rw(n,e){for(const t of e){if(!t)continue;const i=t[n];if(un(i))return i}}function Fw(n){let e=n._keys;return e||(e=n._keys=function(n){const e=new Set;for(const t of n)for(const i of Object.keys(t).filter(r=>!r.startsWith("_")))e.add(i);return Array.from(e)}(n._scopes)),e}const IB=Number.EPSILON||1e-14,Ms=(n,e)=>e<n.length&&!n[e].skip&&n[e],Nw=n=>"x"===n?"y":"x";function TB(n,e,t,i){const r=n.skip?e:n,s=e,o=t.skip?e:t,a=sp(s,r),l=sp(o,s);let c=a/(a+l),u=l/(a+l);c=isNaN(c)?0:c,u=isNaN(u)?0:u;const d=i*c,h=i*u;return{previous:{x:s.x-d*(o.x-r.x),y:s.y-d*(o.y-r.y)},next:{x:s.x+h*(o.x-r.x),y:s.y+h*(o.y-r.y)}}}function kc(n,e,t){return Math.max(Math.min(n,t),e)}function FB(n,e,t,i,r){let s,o,a,l;if(e.spanGaps&&(n=n.filter(c=>!c.skip)),"monotone"===e.cubicInterpolationMode)!function(n,e="x"){const t=Nw(e),i=n.length,r=Array(i).fill(0),s=Array(i);let o,a,l,c=Ms(n,0);for(o=0;o<i;++o)if(a=l,l=c,c=Ms(n,o+1),l){if(c){const u=c[e]-l[e];r[o]=0!==u?(c[t]-l[t])/u:0}s[o]=a?c?Yn(r[o-1])!==Yn(r[o])?0:(r[o-1]+r[o])/2:r[o-1]:r[o]}(function(n,e,t){const i=n.length;let r,s,o,a,l,c=Ms(n,0);for(let u=0;u<i-1;++u)if(l=c,c=Ms(n,u+1),l&&c){if(Xo(e[u],0,IB)){t[u]=t[u+1]=0;continue}r=t[u]/e[u],s=t[u+1]/e[u],a=Math.pow(r,2)+Math.pow(s,2),!(a<=9)&&(o=3/Math.sqrt(a),t[u]=r*o*e[u],t[u+1]=s*o*e[u])}})(n,r,s),function(n,e,t="x"){const i=Nw(t),r=n.length;let s,o,a,l=Ms(n,0);for(let c=0;c<r;++c){if(o=a,a=l,l=Ms(n,c+1),!a)continue;const u=a[t],d=a[i];o&&(s=(u-o[t])/3,a[`cp1${t}`]=u-s,a[`cp1${i}`]=d-s*e[c]),l&&(s=(l[t]-u)/3,a[`cp2${t}`]=u+s,a[`cp2${i}`]=d+s*e[c])}}(n,s,e)}(n,r);else{let c=i?n[n.length-1]:n[0];for(s=0,o=n.length;s<o;++s)a=n[s],l=TB(c,a,n[Math.min(s+1,o-(i?0:1))%o],e.tension),a.cp1x=l.previous.x,a.cp1y=l.previous.y,a.cp2x=l.next.x,a.cp2y=l.next.y,c=a}e.capBezierPoints&&function(n,e){let t,i,r,s,o,a=cr(n[0],e);for(t=0,i=n.length;t<i;++t)o=s,s=a,a=t<i-1&&cr(n[t+1],e),s&&(r=n[t],o&&(r.cp1x=kc(r.cp1x,e.left,e.right),r.cp1y=kc(r.cp1y,e.top,e.bottom)),a&&(r.cp2x=kc(r.cp2x,e.left,e.right),r.cp2y=kc(r.cp2y,e.top,e.bottom)))}(n,t)}function Lw(){return"undefined"!=typeof window&&"undefined"!=typeof document}function vp(n){let e=n.parentNode;return e&&"[object ShadowRoot]"===e.toString()&&(e=e.host),e}function Rc(n,e,t){let i;return"string"==typeof n?(i=parseInt(n,10),-1!==n.indexOf("%")&&(i=i/100*e.parentNode[t])):i=n,i}const Fc=n=>window.getComputedStyle(n,null),LB=["top","right","bottom","left"];function dr(n,e,t){const i={};t=t?"-"+t:"";for(let r=0;r<4;r++){const s=LB[r];i[s]=parseFloat(n[e+"-"+s+t])||0}return i.width=i.left+i.right,i.height=i.top+i.bottom,i}function Vw(n,e){const{canvas:t,currentDevicePixelRatio:i}=e,r=Fc(t),s="border-box"===r.boxSizing,o=dr(r,"padding"),a=dr(r,"border","width"),{x:l,y:c,box:u}=function(n,e){const t=n.native||n,i=t.touches,r=i&&i.length?i[0]:t,{offsetX:s,offsetY:o}=r;let l,c,a=!1;if(((n,e,t)=>(n>0||e>0)&&(!t||!t.shadowRoot))(s,o,t.target))l=s,c=o;else{const u=e.getBoundingClientRect();l=r.clientX-u.left,c=r.clientY-u.top,a=!0}return{x:l,y:c,box:a}}(n,t),d=o.left+(u&&a.left),h=o.top+(u&&a.top);let{width:f,height:p}=e;return s&&(f-=o.width+a.width,p-=o.height+a.height),{x:Math.round((l-d)/f*t.width/i),y:Math.round((c-h)/p*t.height/i)}}const bp=n=>Math.round(10*n)/10;function Bw(n,e,t){const i=e||1,r=Math.floor(n.height*i),s=Math.floor(n.width*i);n.height=r/i,n.width=s/i;const o=n.canvas;return o.style&&(t||!o.style.height&&!o.style.width)&&(o.style.height=`${n.height}px`,o.style.width=`${n.width}px`),(n.currentDevicePixelRatio!==i||o.height!==r||o.width!==s)&&(n.currentDevicePixelRatio=i,o.height=r,o.width=s,n.ctx.setTransform(i,0,0,i,0,0),!0)}const UB=function(){let n=!1;try{const e={get passive(){return n=!0,!1}};window.addEventListener("test",null,e),window.removeEventListener("test",null,e)}catch(e){}return n}();function jw(n,e){const t=function(n,e){return Fc(n).getPropertyValue(e)}(n,e),i=t&&t.match(/^(\d+)(\.\d+)?px$/);return i?+i[1]:void 0}function hr(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:n.y+t*(e.y-n.y)}}function $B(n,e,t,i){return{x:n.x+t*(e.x-n.x),y:"middle"===i?t<.5?n.y:e.y:"after"===i?t<1?n.y:e.y:t>0?e.y:n.y}}function zB(n,e,t,i){const r={x:n.cp2x,y:n.cp2y},s={x:e.cp1x,y:e.cp1y},o=hr(n,r,t),a=hr(r,s,t),l=hr(s,e,t),c=hr(o,a,t),u=hr(a,l,t);return hr(c,u,t)}const Hw=new Map;function oa(n,e,t){return function(n,e){e=e||{};const t=n+JSON.stringify(e);let i=Hw.get(t);return i||(i=new Intl.NumberFormat(n,e),Hw.set(t,i)),i}(e,t).format(n)}function Ss(n,e,t){return n?function(n,e){return{x:t=>n+n+e-t,setWidth(t){e=t},textAlign:t=>"center"===t?t:"right"===t?"left":"right",xPlus:(t,i)=>t-i,leftForLtr:(t,i)=>t-i}}(e,t):{x:n=>n,setWidth(n){},textAlign:n=>n,xPlus:(n,e)=>n+e,leftForLtr:(n,e)=>n}}function Uw(n,e){let t,i;("ltr"===e||"rtl"===e)&&(t=n.canvas.style,i=[t.getPropertyValue("direction"),t.getPropertyPriority("direction")],t.setProperty("direction",e,"important"),n.prevTextDirection=i)}function $w(n,e){void 0!==e&&(delete n.prevTextDirection,n.canvas.style.setProperty("direction",e[0],e[1]))}function zw(n){return"angle"===n?{between:Qo,compare:V2,normalize:Kt}:{between:fi,compare:(e,t)=>e-t,normalize:e=>e}}function Ww({start:n,end:e,count:t,loop:i,style:r}){return{start:n%t,end:e%t,loop:i&&(e-n+1)%t==0,style:r}}function Gw(n,e,t){if(!t)return[n];const{property:i,start:r,end:s}=t,o=e.length,{compare:a,between:l,normalize:c}=zw(i),{start:u,end:d,loop:h,style:f}=function(n,e,t){const{property:i,start:r,end:s}=t,{between:o,normalize:a}=zw(i),l=e.length;let h,f,{start:c,end:u,loop:d}=n;if(d){for(c+=l,u+=l,h=0,f=l;h<f&&o(a(e[c%l][i]),r,s);++h)c--,u--;c%=l,u%=l}return u<c&&(u+=l),{start:c,end:u,loop:d,style:n.style}}(n,e,t),p=[];let v,b,D,g=!1,_=null;for(let O=u,k=u;O<=d;++O)b=e[O%o],!b.skip&&(v=c(b[i]),v!==D&&(g=l(v,r,s),null===_&&(g||l(r,D,v)&&0!==a(r,D))&&(_=0===a(v,r)?O:k),null!==_&&(!g||0===a(s,v)||l(s,D,v))&&(p.push(Ww({start:_,end:O,loop:h,count:o,style:f})),_=null),k=O,D=v));return null!==_&&p.push(Ww({start:_,end:d,loop:h,count:o,style:f})),p}function qw(n,e){const t=[],i=n.segments;for(let r=0;r<i.length;r++){const s=Gw(i[r],n.points,e);s.length&&t.push(...s)}return t}function Kw(n){return{backgroundColor:n.backgroundColor,borderCapStyle:n.borderCapStyle,borderDash:n.borderDash,borderDashOffset:n.borderDashOffset,borderJoinStyle:n.borderJoinStyle,borderWidth:n.borderWidth,borderColor:n.borderColor}}function QB(n,e){return e&&JSON.stringify(n)!==JSON.stringify(e)}var gi=new class{constructor(){this._request=null,this._charts=new Map,this._running=!1,this._lastDate=void 0}_notify(e,t,i,r){const o=t.duration;t.listeners[r].forEach(a=>a({chart:e,initial:t.initial,numSteps:o,currentStep:Math.min(i-t.start,o)}))}_refresh(){this._request||(this._running=!0,this._request=nw.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(e=Date.now()){let t=0;this._charts.forEach((i,r)=>{if(!i.running||!i.items.length)return;const s=i.items;let l,o=s.length-1,a=!1;for(;o>=0;--o)l=s[o],l._active?(l._total>i.duration&&(i.duration=l._total),l.tick(e),a=!0):(s[o]=s[s.length-1],s.pop());a&&(r.draw(),this._notify(r,i,e,"progress")),s.length||(i.running=!1,this._notify(r,i,e,"complete"),i.initial=!1),t+=s.length}),this._lastDate=e,0===t&&(this._running=!1)}_getAnims(e){const t=this._charts;let i=t.get(e);return i||(i={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},t.set(e,i)),i}listen(e,t,i){this._getAnims(e).listeners[t].push(i)}add(e,t){!t||!t.length||this._getAnims(e).items.push(...t)}has(e){return this._getAnims(e).items.length>0}start(e){const t=this._charts.get(e);!t||(t.running=!0,t.start=Date.now(),t.duration=t.items.reduce((i,r)=>Math.max(i,r._duration),0),this._refresh())}running(e){if(!this._running)return!1;const t=this._charts.get(e);return!(!t||!t.running||!t.items.length)}stop(e){const t=this._charts.get(e);if(!t||!t.items.length)return;const i=t.items;let r=i.length-1;for(;r>=0;--r)i[r].cancel();t.items=[],this._notify(e,t,Date.now(),"complete")}remove(e){return this._charts.delete(e)}};const Jw="transparent",tj={boolean:(n,e,t)=>t>.5?e:n,color(n,e,t){const i=xw(n||Jw),r=i.valid&&xw(e||Jw);return r&&r.valid?r.mix(i,t).hexString():e},number:(n,e,t)=>n+(e-n)*t};class nj{constructor(e,t,i,r){const s=t[i];r=sa([e.to,r,s,e.from]);const o=sa([e.from,s,r]);this._active=!0,this._fn=e.fn||tj[e.type||typeof o],this._easing=ea[e.easing]||ea.linear,this._start=Math.floor(Date.now()+(e.delay||0)),this._duration=this._total=Math.floor(e.duration),this._loop=!!e.loop,this._target=t,this._prop=i,this._from=o,this._to=r,this._promises=void 0}active(){return this._active}update(e,t,i){if(this._active){this._notify(!1);const r=this._target[this._prop],s=i-this._start,o=this._duration-s;this._start=i,this._duration=Math.floor(Math.max(o,e.duration)),this._total+=s,this._loop=!!e.loop,this._to=sa([e.to,t,r,e.from]),this._from=sa([e.from,r,t])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(e){const t=e-this._start,i=this._duration,r=this._prop,s=this._from,o=this._loop,a=this._to;let l;if(this._active=s!==a&&(o||t<i),!this._active)return this._target[r]=a,void this._notify(!0);t<0?this._target[r]=s:(l=t/i%2,l=o&&l>1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[r]=this._fn(s,a,l))}wait(){const e=this._promises||(this._promises=[]);return new Promise((t,i)=>{e.push({res:t,rej:i})})}_notify(e){const t=e?"res":"rej",i=this._promises||[];for(let r=0;r<i.length;r++)i[r][t]()}}ae.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0});const sj=Object.keys(ae.animation);ae.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:n=>"onProgress"!==n&&"onComplete"!==n&&"fn"!==n}),ae.set("animations",{colors:{type:"color",properties:["color","borderColor","backgroundColor"]},numbers:{type:"number",properties:["x","y","borderWidth","radius","tension"]}}),ae.describe("animations",{_fallback:"animation"}),ae.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:n=>0|n}}}});class Zw{constructor(e,t){this._chart=e,this._properties=new Map,this.configure(t)}configure(e){if(!oe(e))return;const t=this._properties;Object.getOwnPropertyNames(e).forEach(i=>{const r=e[i];if(!oe(r))return;const s={};for(const o of sj)s[o]=r[o];(we(r.properties)&&r.properties||[i]).forEach(o=>{(o===i||!t.has(o))&&t.set(o,s)})})}_animateOptions(e,t){const i=t.options,r=function(n,e){if(!e)return;let t=n.options;if(t)return t.$shared&&(n.options=t=Object.assign({},t,{$shared:!1,$animations:{}})),t;n.options=e}(e,i);if(!r)return[];const s=this._createAnimations(r,i);return i.$shared&&function(n,e){const t=[],i=Object.keys(e);for(let r=0;r<i.length;r++){const s=n[i[r]];s&&s.active()&&t.push(s.wait())}return Promise.all(t)}(e.options.$animations,i).then(()=>{e.options=i},()=>{}),s}_createAnimations(e,t){const i=this._properties,r=[],s=e.$animations||(e.$animations={}),o=Object.keys(t),a=Date.now();let l;for(l=o.length-1;l>=0;--l){const c=o[l];if("$"===c.charAt(0))continue;if("options"===c){r.push(...this._animateOptions(e,t));continue}const u=t[c];let d=s[c];const h=i.get(c);if(d){if(h&&d.active()){d.update(h,u,a);continue}d.cancel()}h&&h.duration?(s[c]=d=new nj(h,e,c,u),r.push(d)):e[c]=u}return r}update(e,t){if(0===this._properties.size)return void Object.assign(e,t);const i=this._createAnimations(e,t);return i.length?(gi.add(this._chart,i),!0):void 0}}function Xw(n,e){const t=n&&n.options||{},i=t.reverse,r=void 0===t.min?e:0,s=void 0===t.max?e:0;return{start:i?s:r,end:i?r:s}}function Qw(n,e){const t=[],i=n._getSortedDatasetMetas(e);let r,s;for(r=0,s=i.length;r<s;++r)t.push(i[r].index);return t}function ex(n,e,t,i={}){const r=n.keys,s="single"===i.mode;let o,a,l,c;if(null!==e){for(o=0,a=r.length;o<a;++o){if(l=+r[o],l===t){if(i.all)continue;break}c=n.values[l],Be(c)&&(s||0===e||Yn(e)===Yn(c))&&(e+=c)}return e}}function tx(n,e){const t=n&&n.options.stacked;return t||void 0===t&&void 0!==e.stack}function fj(n,e,t){const i=n[e]||(n[e]={});return i[t]||(i[t]={})}function nx(n,e,t,i){for(const r of e.getMatchingVisibleMetas(i).reverse()){const s=n[r.index];if(t&&s>0||!t&&s<0)return r.index}return null}function ix(n,e){const{chart:t,_cachedMeta:i}=n,r=t._stacks||(t._stacks={}),{iScale:s,vScale:o,index:a}=i,l=s.axis,c=o.axis,u=function(n,e,t){return`${n.id}.${e.id}.${t.stack||t.type}`}(s,o,i),d=e.length;let h;for(let f=0;f<d;++f){const p=e[f],{[l]:g,[c]:_}=p;h=(p._stacks||(p._stacks={}))[c]=fj(r,u,g),h[a]=_,h._top=nx(h,o,!0,i.type),h._bottom=nx(h,o,!1,i.type)}}function Cp(n,e){const t=n.scales;return Object.keys(t).filter(i=>t[i].axis===e).shift()}function aa(n,e){const t=n.controller.index,i=n.vScale&&n.vScale.axis;if(i){e=e||n._parsed;for(const r of e){const s=r._stacks;if(!s||void 0===s[i]||void 0===s[i][t])return;delete s[i][t]}}}const Dp=n=>"reset"===n||"none"===n,rx=(n,e)=>e?n:Object.assign({},n);let mi=(()=>{class n{constructor(t,i){this.chart=t,this._ctx=t.ctx,this.index=i,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.$context=void 0,this._syncList=[],this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=tx(t.vScale,t),this.addElements()}updateIndex(t){this.index!==t&&aa(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,i=this._cachedMeta,r=this.getDataset(),s=(h,f,p,g)=>"x"===h?f:"r"===h?g:p,o=i.xAxisID=K(r.xAxisID,Cp(t,"x")),a=i.yAxisID=K(r.yAxisID,Cp(t,"y")),l=i.rAxisID=K(r.rAxisID,Cp(t,"r")),c=i.indexAxis,u=i.iAxisID=s(c,o,a,l),d=i.vAxisID=s(c,a,o,l);i.xScale=this.getScaleForId(o),i.yScale=this.getScaleForId(a),i.rScale=this.getScaleForId(l),i.iScale=this.getScaleForId(u),i.vScale=this.getScaleForId(d)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const i=this._cachedMeta;return t===i.iScale?i.vScale:i.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Aw(this._data,this),t._stacked&&aa(t)}_dataCheck(){const t=this.getDataset(),i=t.data||(t.data=[]),r=this._data;if(oe(i))this._data=function(n){const e=Object.keys(n),t=new Array(e.length);let i,r,s;for(i=0,r=e.length;i<r;++i)s=e[i],t[i]={x:s,y:n[s]};return t}(i);else if(r!==i){if(r){Aw(r,this);const s=this._cachedMeta;aa(s),s._parsed=[]}i&&Object.isExtensible(i)&&function(n,e){n._chartjs?n._chartjs.listeners.push(e):(Object.defineProperty(n,"_chartjs",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),Sw.forEach(t=>{const i="_onData"+ip(t),r=n[t];Object.defineProperty(n,t,{configurable:!0,enumerable:!1,value(...s){const o=r.apply(this,s);return n._chartjs.listeners.forEach(a=>{"function"==typeof a[i]&&a[i](...s)}),o}})}))}(i,this),this._syncList=[],this._data=i}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const i=this._cachedMeta,r=this.getDataset();let s=!1;this._dataCheck();const o=i._stacked;i._stacked=tx(i.vScale,i),i.stack!==r.stack&&(s=!0,aa(i),i.stack=r.stack),this._resyncElements(t),(s||o!==i._stacked)&&ix(this,i._parsed)}configure(){const t=this.chart.config,i=t.datasetScopeKeys(this._type),r=t.getOptionScopes(this.getDataset(),i,!0);this.options=t.createResolver(r,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,i){const{_cachedMeta:r,_data:s}=this,{iScale:o,_stacked:a}=r,l=o.axis;let d,h,f,c=0===t&&i===s.length||r._sorted,u=t>0&&r._parsed[t-1];if(!1===this._parsing)r._parsed=s,r._sorted=!0,f=s;else{f=we(s[t])?this.parseArrayData(r,s,t,i):oe(s[t])?this.parseObjectData(r,s,t,i):this.parsePrimitiveData(r,s,t,i);const p=()=>null===h[l]||u&&h[l]<u[l];for(d=0;d<i;++d)r._parsed[d+t]=h=f[d],c&&(p()&&(c=!1),u=h);r._sorted=c}a&&ix(this,f)}parsePrimitiveData(t,i,r,s){const{iScale:o,vScale:a}=t,l=o.axis,c=a.axis,u=o.getLabels(),d=o===a,h=new Array(s);let f,p,g;for(f=0,p=s;f<p;++f)g=f+r,h[f]={[l]:d||o.parse(u[g],g),[c]:a.parse(i[g],g)};return h}parseArrayData(t,i,r,s){const{xScale:o,yScale:a}=t,l=new Array(s);let c,u,d,h;for(c=0,u=s;c<u;++c)d=c+r,h=i[d],l[c]={x:o.parse(h[0],d),y:a.parse(h[1],d)};return l}parseObjectData(t,i,r,s){const{xScale:o,yScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u=new Array(s);let d,h,f,p;for(d=0,h=s;d<h;++d)f=d+r,p=i[f],u[d]={x:o.parse(or(p,l),f),y:a.parse(or(p,c),f)};return u}getParsed(t){return this._cachedMeta._parsed[t]}getDataElement(t){return this._cachedMeta.data[t]}applyStack(t,i,r){const o=this._cachedMeta,a=i[t.axis];return ex({keys:Qw(this.chart,!0),values:i._stacks[t.axis]},a,o.index,{mode:r})}updateRangeFromParsed(t,i,r,s){const o=r[i.axis];let a=null===o?NaN:o;const l=s&&r._stacks[i.axis];s&&l&&(s.values=l,a=ex(s,o,this._cachedMeta.index)),t.min=Math.min(t.min,a),t.max=Math.max(t.max,a)}getMinMax(t,i){const r=this._cachedMeta,s=r._parsed,o=r._sorted&&t===r.iScale,a=s.length,l=this._getOtherScale(t),c=((n,e,t)=>n&&!e.hidden&&e._stacked&&{keys:Qw(this.chart,!0),values:null})(i,r),u={min:Number.POSITIVE_INFINITY,max:Number.NEGATIVE_INFINITY},{min:d,max:h}=function(n){const{min:e,max:t,minDefined:i,maxDefined:r}=n.getUserBounds();return{min:i?e:Number.NEGATIVE_INFINITY,max:r?t:Number.POSITIVE_INFINITY}}(l);let f,p;function g(){p=s[f];const _=p[l.axis];return!Be(p[t.axis])||d>_||h<_}for(f=0;f<a&&(g()||(this.updateRangeFromParsed(u,t,p,c),!o));++f);if(o)for(f=a-1;f>=0;--f)if(!g()){this.updateRangeFromParsed(u,t,p,c);break}return u}getAllParsedValues(t){const i=this._cachedMeta._parsed,r=[];let s,o,a;for(s=0,o=i.length;s<o;++s)a=i[s][t.axis],Be(a)&&r.push(a);return r}getMaxOverflow(){return!1}getLabelAndValue(t){const i=this._cachedMeta,r=i.iScale,s=i.vScale,o=this.getParsed(t);return{label:r?""+r.getLabelForValue(o[r.axis]):"",value:s?""+s.getLabelForValue(o[s.axis]):""}}_update(t){const i=this._cachedMeta;this.update(t||"default"),i._clip=function(n){let e,t,i,r;return oe(n)?(e=n.top,t=n.right,i=n.bottom,r=n.left):e=t=i=r=n,{top:e,right:t,bottom:i,left:r,disabled:!1===n}}(K(this.options.clip,function(n,e,t){if(!1===t)return!1;const i=Xw(n,t),r=Xw(e,t);return{top:r.end,right:i.end,bottom:r.start,left:i.start}}(i.xScale,i.yScale,this.getMaxOverflow())))}update(t){}draw(){const t=this._ctx,r=this._cachedMeta,s=r.data||[],o=this.chart.chartArea,a=[],l=this._drawStart||0,c=this._drawCount||s.length-l,u=this.options.drawActiveElementsOnTop;let d;for(r.dataset&&r.dataset.draw(t,o,l,c),d=l;d<l+c;++d){const h=s[d];h.hidden||(h.active&&u?a.push(h):h.draw(t,o))}for(d=0;d<a.length;++d)a[d].draw(t,o)}getStyle(t,i){const r=i?"active":"default";return void 0===t&&this._cachedMeta.dataset?this.resolveDatasetElementOptions(r):this.resolveDataElementOptions(t||0,r)}getContext(t,i,r){const s=this.getDataset();let o;if(t>=0&&t<this._cachedMeta.data.length){const a=this._cachedMeta.data[t];o=a.$context||(a.$context=function(n,e,t){return Li(n,{active:!1,dataIndex:e,parsed:void 0,raw:void 0,element:t,index:e,mode:"default",type:"data"})}(this.getContext(),t,a)),o.parsed=this.getParsed(t),o.raw=s.data[t],o.index=o.dataIndex=t}else o=this.$context||(this.$context=function(n,e){return Li(n,{active:!1,dataset:void 0,datasetIndex:e,index:e,mode:"default",type:"dataset"})}(this.chart.getContext(),this.index)),o.dataset=s,o.index=o.datasetIndex=this.index;return o.active=!!i,o.mode=r,o}resolveDatasetElementOptions(t){return this._resolveElementOptions(this.datasetElementType.id,t)}resolveDataElementOptions(t,i){return this._resolveElementOptions(this.dataElementType.id,i,t)}_resolveElementOptions(t,i="default",r){const s="active"===i,o=this._cachedDataOpts,a=t+"-"+i,l=o[a],c=this.enableOptionSharing&&un(r);if(l)return rx(l,c);const u=this.chart.config,d=u.datasetElementScopeKeys(this._type,t),h=s?[`${t}Hover`,"hover",t,""]:[t,""],f=u.getOptionScopes(this.getDataset(),d),p=Object.keys(ae.elements[t]),_=u.resolveNamedOptions(f,p,()=>this.getContext(r,s),h);return _.$shared&&(_.$shared=c,o[a]=Object.freeze(rx(_,c))),_}_resolveAnimations(t,i,r){const s=this.chart,o=this._cachedDataOpts,a=`animation-${i}`,l=o[a];if(l)return l;let c;if(!1!==s.options.animation){const d=this.chart.config,h=d.datasetAnimationScopeKeys(this._type,i),f=d.getOptionScopes(this.getDataset(),h);c=d.createResolver(f,this.getContext(t,r,i))}const u=new Zw(s,c&&c.animations);return c&&c._cacheable&&(o[a]=Object.freeze(u)),u}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,i){return!i||Dp(t)||this.chart._animationsDisabled}updateElement(t,i,r,s){Dp(s)?Object.assign(t,r):this._resolveAnimations(i,s).update(t,r)}updateSharedOptions(t,i,r){t&&!Dp(i)&&this._resolveAnimations(void 0,i).update(t,r)}_setStyle(t,i,r,s){t.active=s;const o=this.getStyle(i,s);this._resolveAnimations(i,r,s).update(t,{options:!s&&this.getSharedOptions(o)||o})}removeHoverStyle(t,i,r){this._setStyle(t,r,"active",!1)}setHoverStyle(t,i,r){this._setStyle(t,r,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const i=this._data,r=this._cachedMeta.data;for(const[l,c,u]of this._syncList)this[l](c,u);this._syncList=[];const s=r.length,o=i.length,a=Math.min(o,s);a&&this.parse(0,a),o>s?this._insertElements(s,o-s,t):o<s&&this._removeElements(o,s-o)}_insertElements(t,i,r=!0){const s=this._cachedMeta,o=s.data,a=t+i;let l;const c=u=>{for(u.length+=i,l=u.length-1;l>=a;l--)u[l]=u[l-i]};for(c(o),l=t;l<a;++l)o[l]=new this.dataElementType;this._parsing&&c(s._parsed),this.parse(t,i),r&&this.updateElements(o,t,i,"reset")}updateElements(t,i,r,s){}_removeElements(t,i){const r=this._cachedMeta;if(this._parsing){const s=r._parsed.splice(t,i);r._stacked&&aa(r,s)}r.data.splice(t,i)}_sync(t){if(this._parsing)this._syncList.push(t);else{const[i,r,s]=t;this[i](r,s)}this.chart._dataChanges.push([this.index,...t])}_onDataPush(){const t=arguments.length;this._sync(["_insertElements",this.getDataset().data.length-t,t])}_onDataPop(){this._sync(["_removeElements",this._cachedMeta.data.length-1,1])}_onDataShift(){this._sync(["_removeElements",0,1])}_onDataSplice(t,i){i&&this._sync(["_removeElements",t,i]);const r=arguments.length-2;r&&this._sync(["_insertElements",t,r])}_onDataUnshift(){this._sync(["_insertElements",0,arguments.length])}}return n.defaults={},n})();function _j(n){const e=n.iScale,t=function(n,e){if(!n._cache.$bar){const t=n.getMatchingVisibleMetas(e);let i=[];for(let r=0,s=t.length;r<s;r++)i=i.concat(t[r].controller.getAllParsedValues(n));n._cache.$bar=Iw(i.sort((r,s)=>r-s))}return n._cache.$bar}(e,n.type);let r,s,o,a,i=e._length;const l=()=>{32767===o||-32768===o||(un(a)&&(i=Math.min(i,Math.abs(o-a)||i)),a=o)};for(r=0,s=t.length;r<s;++r)o=e.getPixelForValue(t[r]),l();for(a=void 0,r=0,s=e.ticks.length;r<s;++r)o=e.getPixelForTick(r),l();return i}function sx(n,e,t,i){return we(n)?function(n,e,t,i){const r=t.parse(n[0],i),s=t.parse(n[1],i),o=Math.min(r,s),a=Math.max(r,s);let l=o,c=a;Math.abs(o)>Math.abs(a)&&(l=a,c=o),e[t.axis]=c,e._custom={barStart:l,barEnd:c,start:r,end:s,min:o,max:a}}(n,e,t,i):e[t.axis]=t.parse(n,i),e}function ox(n,e,t,i){const r=n.iScale,s=n.vScale,o=r.getLabels(),a=r===s,l=[];let c,u,d,h;for(c=t,u=t+i;c<u;++c)h=e[c],d={},d[r.axis]=a||r.parse(o[c],c),l.push(sx(h,d,s,c));return l}function wp(n){return n&&void 0!==n.barStart&&void 0!==n.barEnd}function xj(n,e,t,i){let r=e.borderSkipped;const s={};if(!r)return void(n.borderSkipped=s);const{start:o,end:a,reverse:l,top:c,bottom:u}=function(n){let e,t,i,r,s;return n.horizontal?(e=n.base>n.x,t="left",i="right"):(e=n.base<n.y,t="bottom",i="top"),e?(r="end",s="start"):(r="start",s="end"),{start:t,end:i,reverse:e,top:r,bottom:s}}(n);"middle"===r&&t&&(n.enableBorderRadius=!0,(t._top||0)===i?r=c:(t._bottom||0)===i?r=u:(s[ax(u,o,a,l)]=!0,r=c)),s[ax(r,o,a,l)]=!0,n.borderSkipped=s}function ax(n,e,t,i){return i?(n=function(n,e,t){return n===e?t:n===t?e:n}(n,e,t),n=lx(n,t,e)):n=lx(n,e,t),n}function lx(n,e,t){return"start"===n?e:"end"===n?t:n}function Mj(n,{inflateAmount:e},t){n.inflateAmount="auto"===e?1===t?.33:0:e}mi.prototype.datasetElementType=null,mi.prototype.dataElementType=null;let Sj=(()=>{class n extends mi{parsePrimitiveData(t,i,r,s){return ox(t,i,r,s)}parseArrayData(t,i,r,s){return ox(t,i,r,s)}parseObjectData(t,i,r,s){const{iScale:o,vScale:a}=t,{xAxisKey:l="x",yAxisKey:c="y"}=this._parsing,u="x"===o.axis?l:c,d="x"===a.axis?l:c,h=[];let f,p,g,_;for(f=r,p=r+s;f<p;++f)_=i[f],g={},g[o.axis]=o.parse(or(_,u),f),h.push(sx(or(_,d),g,a,f));return h}updateRangeFromParsed(t,i,r,s){super.updateRangeFromParsed(t,i,r,s);const o=r._custom;o&&i===this._cachedMeta.vScale&&(t.min=Math.min(t.min,o.min),t.max=Math.max(t.max,o.max))}getMaxOverflow(){return 0}getLabelAndValue(t){const i=this._cachedMeta,{iScale:r,vScale:s}=i,o=this.getParsed(t),a=o._custom,l=wp(a)?"["+a.start+", "+a.end+"]":""+s.getLabelForValue(o[s.axis]);return{label:""+r.getLabelForValue(o[r.axis]),value:l}}initialize(){this.enableOptionSharing=!0,super.initialize(),this._cachedMeta.stack=this.getDataset().stack}update(t){const i=this._cachedMeta;this.updateElements(i.data,0,i.data.length,t)}updateElements(t,i,r,s){const o="reset"===s,{index:a,_cachedMeta:{vScale:l}}=this,c=l.getBasePixel(),u=l.isHorizontal(),d=this._getRuler(),h=this.resolveDataElementOptions(i,s),f=this.getSharedOptions(h),p=this.includeOptions(s,f);this.updateSharedOptions(f,s,h);for(let g=i;g<i+r;g++){const _=this.getParsed(g),v=o||de(_[l.axis])?{base:c,head:c}:this._calculateBarValuePixels(g),b=this._calculateBarIndexPixels(g,d),D=(_._stacks||{})[l.axis],C={horizontal:u,base:v.base,enableBorderRadius:!D||wp(_._custom)||a===D._top||a===D._bottom,x:u?v.head:b.center,y:u?b.center:v.head,height:u?b.size:Math.abs(v.size),width:u?Math.abs(v.size):b.size};p&&(C.options=f||this.resolveDataElementOptions(g,t[g].active?"active":s));const w=C.options||t[g].options;xj(C,w,D,a),Mj(C,w,d.ratio),this.updateElement(t[g],g,C,s)}}_getStacks(t,i){const s=this._cachedMeta.iScale,o=s.getMatchingVisibleMetas(this._type),a=s.options.stacked,l=o.length,c=[];let u,d;for(u=0;u<l;++u)if(d=o[u],d.controller.options.grouped){if(void 0!==i){const h=d.controller.getParsed(i)[d.controller._cachedMeta.vScale.axis];if(de(h)||isNaN(h))continue}if((!1===a||-1===c.indexOf(d.stack)||void 0===a&&void 0===d.stack)&&c.push(d.stack),d.index===t)break}return c.length||c.push(void 0),c}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,i,r){const s=this._getStacks(t,r),o=void 0!==i?s.indexOf(i):-1;return-1===o?s.length-1:o}_getRuler(){const t=this.options,i=this._cachedMeta,r=i.iScale,s=[];let o,a;for(o=0,a=i.data.length;o<a;++o)s.push(r.getPixelForValue(this.getParsed(o)[r.axis],o));const l=t.barThickness;return{min:l||_j(i),pixels:s,start:r._startPixel,end:r._endPixel,stackCount:this._getStackCount(),scale:r,grouped:t.grouped,ratio:l?1:t.categoryPercentage*t.barPercentage}}_calculateBarValuePixels(t){const{_cachedMeta:{vScale:i,_stacked:r},options:{base:s,minBarLength:o}}=this,a=s||0,l=this.getParsed(t),c=l._custom,u=wp(c);let p,g,d=l[i.axis],h=0,f=r?this.applyStack(i,l,r):d;f!==d&&(h=f-d,f=d),u&&(d=c.barStart,f=c.barEnd-c.barStart,0!==d&&Yn(d)!==Yn(c.barEnd)&&(h=0),h+=d);const _=de(s)||u?h:s;let v=i.getPixelForValue(_);if(p=this.chart.getDataVisibility(t)?i.getPixelForValue(h+f):v,g=p-v,Math.abs(g)<o&&(g=function(n,e,t){return 0!==n?Yn(n):(e.isHorizontal()?1:-1)*(e.min>=t?1:-1)}(g,i,a)*o,d===a&&(v-=g/2),p=v+g),v===i.getPixelForValue(a)){const b=Yn(g)*i.getLineWidthForValue(a)/2;v+=b,g-=b}return{size:g,base:v,head:p,center:p+g/2}}_calculateBarIndexPixels(t,i){const r=i.scale,s=this.options,o=s.skipNull,a=K(s.maxBarThickness,1/0);let l,c;if(i.grouped){const u=o?this._getStackCount(t):i.stackCount,d="flex"===s.barThickness?function(n,e,t,i){const r=e.pixels,s=r[n];let o=n>0?r[n-1]:null,a=n<r.length-1?r[n+1]:null;const l=t.categoryPercentage;null===o&&(o=s-(null===a?e.end-e.start:a-s)),null===a&&(a=s+s-o);const c=s-(s-Math.min(o,a))/2*l;return{chunk:Math.abs(a-o)/2*l/i,ratio:t.barPercentage,start:c}}(t,i,s,u):function(n,e,t,i){const r=t.barThickness;let s,o;return de(r)?(s=e.min*t.categoryPercentage,o=t.barPercentage):(s=r*i,o=1),{chunk:s/i,ratio:o,start:e.pixels[n]-s/2}}(t,i,s,u),h=this._getStackIndex(this.index,this._cachedMeta.stack,o?t:void 0);l=d.start+d.chunk*h+d.chunk/2,c=Math.min(a,d.chunk*d.ratio)}else l=r.getPixelForValue(this.getParsed(t)[r.axis],t),c=Math.min(a,i.min*i.ratio);return{base:l-c/2,head:l+c/2,center:l,size:c}}draw(){const t=this._cachedMeta,i=t.vScale,r=t.data,s=r.length;let o=0;for(;o<s;++o)null!==this.getParsed(o)[i.axis]&&r[o].draw(this._ctx)}}return n.id="bar",n.defaults={datasetElementType:!1,dataElementType:"bar",categoryPercentage:.8,barPercentage:.9,grouped:!0,animations:{numbers:{type:"number",properties:["x","y","base","width","height"]}}},n.overrides={scales:{_index_:{type:"category",offset:!0,grid:{offset:!0}},_value_:{type:"linear",beginAtZero:!0}}},n})(),Aj=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}parsePrimitiveData(t,i,r,s){const o=super.parsePrimitiveData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=this.resolveDataElementOptions(a+r).radius;return o}parseArrayData(t,i,r,s){const o=super.parseArrayData(t,i,r,s);for(let a=0;a<o.length;a++)o[a]._custom=K(i[r+a][2],this.resolveDataElementOptions(a+r).radius);return o}parseObjectData(t,i,r,s){const o=super.parseObjectData(t,i,r,s);for(let a=0;a<o.length;a++){const l=i[r+a];o[a]._custom=K(l&&l.r&&+l.r,this.resolveDataElementOptions(a+r).radius)}return o}getMaxOverflow(){const t=this._cachedMeta.data;let i=0;for(let r=t.length-1;r>=0;--r)i=Math.max(i,t[r].size(this.resolveDataElementOptions(r))/2);return i>0&&i}getLabelAndValue(t){const i=this._cachedMeta,{xScale:r,yScale:s}=i,o=this.getParsed(t),a=r.getLabelForValue(o.x),l=s.getLabelForValue(o.y),c=o._custom;return{label:i.label,value:"("+a+", "+l+(c?", "+c:"")+")"}}update(t){const i=this._cachedMeta.data;this.updateElements(i,0,i.length,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l}=this._cachedMeta,c=this.resolveDataElementOptions(i,s),u=this.getSharedOptions(c),d=this.includeOptions(s,u),h=a.axis,f=l.axis;for(let p=i;p<i+r;p++){const g=t[p],_=!o&&this.getParsed(p),v={},b=v[h]=o?a.getPixelForDecimal(.5):a.getPixelForValue(_[h]),D=v[f]=o?l.getBasePixel():l.getPixelForValue(_[f]);v.skip=isNaN(b)||isNaN(D),d&&(v.options=this.resolveDataElementOptions(p,g.active?"active":s),o&&(v.options.radius=0)),this.updateElement(g,p,v,s)}this.updateSharedOptions(u,s,c)}resolveDataElementOptions(t,i){const r=this.getParsed(t);let s=super.resolveDataElementOptions(t,i);s.$shared&&(s=Object.assign({},s,{$shared:!1}));const o=s.radius;return"active"!==i&&(s.radius=0),s.radius+=K(r&&r._custom,o),s}}return n.id="bubble",n.defaults={datasetElementType:!1,dataElementType:"point",animations:{numbers:{type:"number",properties:["x","y","borderWidth","radius"]}}},n.overrides={scales:{x:{type:"linear"},y:{type:"linear"}},plugins:{tooltip:{callbacks:{title:()=>""}}}},n})(),cx=(()=>{class n extends mi{constructor(t,i){super(t,i),this.enableOptionSharing=!0,this.innerRadius=void 0,this.outerRadius=void 0,this.offsetX=void 0,this.offsetY=void 0}linkScales(){}parse(t,i){const r=this.getDataset().data,s=this._cachedMeta;if(!1===this._parsing)s._parsed=r;else{let a,l,o=c=>+r[c];if(oe(r[t])){const{key:c="value"}=this._parsing;o=u=>+or(r[u],c)}for(a=t,l=t+i;a<l;++a)s._parsed[a]=o(a)}}_getRotation(){return An(this.options.rotation-90)}_getCircumference(){return An(this.options.circumference)}_getRotationExtents(){let t=_e,i=-_e;for(let r=0;r<this.chart.data.datasets.length;++r)if(this.chart.isDatasetVisible(r)){const s=this.chart.getDatasetMeta(r).controller,o=s._getRotation(),a=s._getCircumference();t=Math.min(t,o),i=Math.max(i,o+a)}return{rotation:t,circumference:i-t}}update(t){const i=this.chart,{chartArea:r}=i,s=this._cachedMeta,o=s.data,a=this.getMaxBorderWidth()+this.getMaxOffset(o)+this.options.spacing,l=Math.max((Math.min(r.width,r.height)-a)/2,0),c=Math.min(((n,e)=>"string"==typeof n&&n.endsWith("%")?parseFloat(n)/100:n/e)(this.options.cutout,l),1),u=this._getRingWeight(this.index),{circumference:d,rotation:h}=this._getRotationExtents(),{ratioX:f,ratioY:p,offsetX:g,offsetY:_}=function(n,e,t){let i=1,r=1,s=0,o=0;if(e<_e){const a=n,l=a+e,c=Math.cos(a),u=Math.sin(a),d=Math.cos(l),h=Math.sin(l),f=(D,C,w)=>Qo(D,a,l,!0)?1:Math.max(C,C*t,w,w*t),p=(D,C,w)=>Qo(D,a,l,!0)?-1:Math.min(C,C*t,w,w*t),g=f(0,c,d),_=f(Fe,u,h),v=p(Ae,c,d),b=p(Ae+Fe,u,h);i=(g-v)/2,r=(_-b)/2,s=-(g+v)/2,o=-(_+b)/2}return{ratioX:i,ratioY:r,offsetX:s,offsetY:o}}(h,d,c),D=Math.max(Math.min((r.width-a)/f,(r.height-a)/p)/2,0),C=rw(this.options.radius,D),M=(C-Math.max(C*c,0))/this._getVisibleDatasetWeightTotal();this.offsetX=g*C,this.offsetY=_*C,s.total=this.calculateTotal(),this.outerRadius=C-M*this._getRingWeightOffset(this.index),this.innerRadius=Math.max(this.outerRadius-M*u,0),this.updateElements(o,0,o.length,t)}_circumference(t,i){const r=this.options,s=this._cachedMeta,o=this._getCircumference();return i&&r.animation.animateRotate||!this.chart.getDataVisibility(t)||null===s._parsed[t]||s.data[t].hidden?0:this.calculateCircumference(s._parsed[t]*o/_e)}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=a.chartArea,d=(l.left+l.right)/2,h=(l.top+l.bottom)/2,f=o&&a.options.animation.animateScale,p=f?0:this.innerRadius,g=f?0:this.outerRadius,_=this.resolveDataElementOptions(i,s),v=this.getSharedOptions(_),b=this.includeOptions(s,v);let C,D=this._getRotation();for(C=0;C<i;++C)D+=this._circumference(C,o);for(C=i;C<i+r;++C){const w=this._circumference(C,o),M=t[C],A={x:d+this.offsetX,y:h+this.offsetY,startAngle:D,endAngle:D+w,circumference:w,outerRadius:g,innerRadius:p};b&&(A.options=v||this.resolveDataElementOptions(C,M.active?"active":s)),D+=w,this.updateElement(M,C,A,s)}this.updateSharedOptions(v,s,_)}calculateTotal(){const t=this._cachedMeta,i=t.data;let s,r=0;for(s=0;s<i.length;s++){const o=t._parsed[s];null!==o&&!isNaN(o)&&this.chart.getDataVisibility(s)&&!i[s].hidden&&(r+=Math.abs(o))}return r}calculateCircumference(t){const i=this._cachedMeta.total;return i>0&&!isNaN(t)?_e*(Math.abs(t)/i):0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t],r.options.locale);return{label:s[t]||"",value:o}}getMaxBorderWidth(t){let i=0;const r=this.chart;let s,o,a,l,c;if(!t)for(s=0,o=r.data.datasets.length;s<o;++s)if(r.isDatasetVisible(s)){a=r.getDatasetMeta(s),t=a.data,l=a.controller;break}if(!t)return 0;for(s=0,o=t.length;s<o;++s)c=l.resolveDataElementOptions(s),"inner"!==c.borderAlign&&(i=Math.max(i,c.borderWidth||0,c.hoverBorderWidth||0));return i}getMaxOffset(t){let i=0;for(let r=0,s=t.length;r<s;++r){const o=this.resolveDataElementOptions(r);i=Math.max(i,o.offset||0,o.hoverOffset||0)}return i}_getRingWeightOffset(t){let i=0;for(let r=0;r<t;++r)this.chart.isDatasetVisible(r)&&(i+=this._getRingWeight(r));return i}_getRingWeight(t){return Math.max(K(this.chart.data.datasets[t].weight,1),0)}_getVisibleDatasetWeightTotal(){return this._getRingWeightOffset(this.chart.data.datasets.length)||1}}return n.id="doughnut",n.defaults={datasetElementType:!1,dataElementType:"arc",animation:{animateRotate:!0,animateScale:!1},animations:{numbers:{type:"number",properties:["circumference","endAngle","innerRadius","outerRadius","startAngle","x","y","offset","borderWidth","spacing"]}},cutout:"50%",rotation:0,circumference:360,radius:"100%",spacing:0,indexAxis:"r"},n.descriptors={_scriptable:e=>"spacing"!==e,_indexable:e=>"spacing"!==e},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label(e){let t=e.label;const i=": "+e.formattedValue;return we(t)?(t=t.slice(),t[0]+=i):t+=i,t}}}}},n})(),ux=(()=>{class n extends mi{initialize(){this.enableOptionSharing=!0,super.initialize()}update(t){const i=this._cachedMeta,{dataset:r,data:s=[],_dataset:o}=i,a=this.chart._animationsDisabled;let{start:l,count:c}=function(n,e,t){const i=e.length;let r=0,s=i;if(n._sorted){const{iScale:o,_parsed:a}=n,l=o.axis,{min:c,max:u,minDefined:d,maxDefined:h}=o.getUserBounds();d&&(r=ot(Math.min(pi(a,o.axis,c).lo,t?i:pi(e,l,o.getPixelForValue(c)).lo),0,i-1)),s=h?ot(Math.max(pi(a,o.axis,u).hi+1,t?0:pi(e,l,o.getPixelForValue(u)).hi+1),r,i)-r:i-r}return{start:r,count:s}}(i,s,a);this._drawStart=l,this._drawCount=c,function(n){const{xScale:e,yScale:t,_scaleRanges:i}=n,r={xmin:e.min,xmax:e.max,ymin:t.min,ymax:t.max};if(!i)return n._scaleRanges=r,!0;const s=i.xmin!==e.min||i.xmax!==e.max||i.ymin!==t.min||i.ymax!==t.max;return Object.assign(i,r),s}(i)&&(l=0,c=s.length),r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!o._decimated,r.points=s;const u=this.resolveDatasetElementOptions(t);this.options.showLine||(u.borderWidth=0),u.segment=this.options.segment,this.updateElement(r,void 0,{animated:!a,options:u},t),this.updateElements(s,l,c,t)}updateElements(t,i,r,s){const o="reset"===s,{iScale:a,vScale:l,_stacked:c,_dataset:u}=this._cachedMeta,d=this.resolveDataElementOptions(i,s),h=this.getSharedOptions(d),f=this.includeOptions(s,h),p=a.axis,g=l.axis,{spanGaps:_,segment:v}=this.options,b=Zo(_)?_:Number.POSITIVE_INFINITY,D=this.chart._animationsDisabled||o||"none"===s;let C=i>0&&this.getParsed(i-1);for(let w=i;w<i+r;++w){const M=t[w],A=this.getParsed(w),O=D?M:{},k=de(A[g]),ue=O[p]=a.getPixelForValue(A[p],w),te=O[g]=o||k?l.getBasePixel():l.getPixelForValue(c?this.applyStack(l,A,c):A[g],w);O.skip=isNaN(ue)||isNaN(te)||k,O.stop=w>0&&A[p]-C[p]>b,v&&(O.parsed=A,O.raw=u.data[w]),f&&(O.options=h||this.resolveDataElementOptions(w,M.active?"active":s)),D||this.updateElement(M,w,O,s),C=A}this.updateSharedOptions(h,s,d)}getMaxOverflow(){const t=this._cachedMeta,i=t.dataset,r=i.options&&i.options.borderWidth||0,s=t.data||[];if(!s.length)return r;const o=s[0].size(this.resolveDataElementOptions(0)),a=s[s.length-1].size(this.resolveDataElementOptions(s.length-1));return Math.max(r,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}return n.id="line",n.defaults={datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1},n.overrides={scales:{_index_:{type:"category"},_value_:{type:"linear"}}},n})();var Pj=Object.freeze({__proto__:null,BarController:Sj,BubbleController:Aj,DoughnutController:cx,LineController:ux,PolarAreaController:(()=>{class n extends mi{constructor(t,i){super(t,i),this.innerRadius=void 0,this.outerRadius=void 0}getLabelAndValue(t){const r=this.chart,s=r.data.labels||[],o=oa(this._cachedMeta._parsed[t].r,r.options.locale);return{label:s[t]||"",value:o}}update(t){const i=this._cachedMeta.data;this._updateRadius(),this.updateElements(i,0,i.length,t)}_updateRadius(){const t=this.chart,i=t.chartArea,r=t.options,s=Math.min(i.right-i.left,i.bottom-i.top),o=Math.max(s/2,0),l=(o-Math.max(r.cutoutPercentage?o/100*r.cutoutPercentage:1,0))/t.getVisibleDatasetCount();this.outerRadius=o-l*this.index,this.innerRadius=this.outerRadius-l}updateElements(t,i,r,s){const o="reset"===s,a=this.chart,l=this.getDataset(),u=a.options.animation,d=this._cachedMeta.rScale,h=d.xCenter,f=d.yCenter,p=d.getIndexAngle(0)-.5*Ae;let _,g=p;const v=360/this.countVisibleElements();for(_=0;_<i;++_)g+=this._computeAngle(_,s,v);for(_=i;_<i+r;_++){const b=t[_];let D=g,C=g+this._computeAngle(_,s,v),w=a.getDataVisibility(_)?d.getDistanceFromCenterForValue(l.data[_]):0;g=C,o&&(u.animateScale&&(w=0),u.animateRotate&&(D=C=p));const M={x:h,y:f,innerRadius:0,outerRadius:w,startAngle:D,endAngle:C,options:this.resolveDataElementOptions(_,b.active?"active":s)};this.updateElement(b,_,M,s)}}countVisibleElements(){const t=this.getDataset();let r=0;return this._cachedMeta.data.forEach((s,o)=>{!isNaN(t.data[o])&&this.chart.getDataVisibility(o)&&r++}),r}_computeAngle(t,i,r){return this.chart.getDataVisibility(t)?An(this.resolveDataElementOptions(t,i).angle||r):0}}return n.id="polarArea",n.defaults={dataElementType:"arc",animation:{animateRotate:!0,animateScale:!0},animations:{numbers:{type:"number",properties:["x","y","startAngle","endAngle","innerRadius","outerRadius"]}},indexAxis:"r",startAngle:0},n.overrides={aspectRatio:1,plugins:{legend:{labels:{generateLabels(e){const t=e.data;if(t.labels.length&&t.datasets.length){const{labels:{pointStyle:i}}=e.legend.options;return t.labels.map((r,s)=>{const a=e.getDatasetMeta(0).controller.getStyle(s);return{text:r,fillStyle:a.backgroundColor,strokeStyle:a.borderColor,lineWidth:a.borderWidth,pointStyle:i,hidden:!e.getDataVisibility(s),index:s}})}return[]}},onClick(e,t,i){i.chart.toggleDataVisibility(t.index),i.chart.update()}},tooltip:{callbacks:{title:()=>"",label:e=>e.chart.data.labels[e.dataIndex]+": "+e.formattedValue}}},scales:{r:{type:"radialLinear",angleLines:{display:!1},beginAtZero:!0,grid:{circular:!0},pointLabels:{display:!1},startAngle:0}}},n})(),PieController:(()=>{class n extends cx{}return n.id="pie",n.defaults={cutout:0,rotation:0,circumference:360,radius:"100%"},n})(),RadarController:(()=>{class n extends mi{getLabelAndValue(t){const i=this._cachedMeta.vScale,r=this.getParsed(t);return{label:i.getLabels()[t],value:""+i.getLabelForValue(r[i.axis])}}update(t){const i=this._cachedMeta,r=i.dataset,s=i.data||[],o=i.iScale.getLabels();if(r.points=s,"resize"!==t){const a=this.resolveDatasetElementOptions(t);this.options.showLine||(a.borderWidth=0),this.updateElement(r,void 0,{_loop:!0,_fullLoop:o.length===s.length,options:a},t)}this.updateElements(s,0,s.length,t)}updateElements(t,i,r,s){const o=this.getDataset(),a=this._cachedMeta.rScale,l="reset"===s;for(let c=i;c<i+r;c++){const u=t[c],d=this.resolveDataElementOptions(c,u.active?"active":s),h=a.getPointPositionForValue(c,o.data[c]),f=l?a.xCenter:h.x,p=l?a.yCenter:h.y,g={x:f,y:p,angle:h.angle,skip:isNaN(f)||isNaN(p),options:d};this.updateElement(u,c,g,s)}}}return n.id="radar",n.defaults={datasetElementType:"line",dataElementType:"point",indexAxis:"r",showLine:!0,elements:{line:{fill:"start"}}},n.overrides={aspectRatio:1,scales:{r:{type:"radialLinear"}}},n})(),ScatterController:(()=>{class n extends ux{}return n.id="scatter",n.defaults={showLine:!1,fill:!1},n.overrides={interaction:{mode:"point"},plugins:{tooltip:{callbacks:{title:()=>"",label:e=>"("+e.label+", "+e.formattedValue+")"}}},scales:{x:{type:"linear"},y:{type:"linear"}}},n})()});function fr(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}var kj={_date:(()=>{class n{constructor(t){this.options=t||{}}formats(){return fr()}parse(t,i){return fr()}format(t,i){return fr()}add(t,i,r){return fr()}diff(t,i,r){return fr()}startOf(t,i,r){return fr()}endOf(t,i){return fr()}}return n.override=function(e){Object.assign(n.prototype,e)},n})()};function la(n,e){return"native"in n?{x:n.x,y:n.y}:Vw(n,e)}function Fj(n,e,t,i){const{controller:r,data:s,_sorted:o}=n,a=r._cachedMeta.iScale;if(a&&e===a.axis&&"r"!==e&&o&&s.length){const l=a._reversePixels?yB:pi;if(!i)return l(s,e,t);if(r._sharedOptions){const c=s[0],u="function"==typeof c.getRange&&c.getRange(e);if(u){const d=l(s,e,t-u),h=l(s,e,t+u);return{lo:d.lo,hi:h.hi}}}}return{lo:0,hi:s.length-1}}function xp(n,e,t,i,r){const s=n.getSortedVisibleDatasetMetas(),o=t[e];for(let a=0,l=s.length;a<l;++a){const{index:c,data:u}=s[a],{lo:d,hi:h}=Fj(s[a],e,o,r);for(let f=d;f<=h;++f){const p=u[f];p.skip||i(p,c,f)}}}function Ep(n,e,t,i){const r=[];return cr(e,n.chartArea,n._minPadding)&&xp(n,t,e,function(o,a,l){o.inRange(e.x,e.y,i)&&r.push({element:o,datasetIndex:a,index:l})},!0),r}function Mp(n,e,t,i,r){return cr(e,n.chartArea,n._minPadding)?"r"!==t||i?function(n,e,t,i,r){let s=[];const o=function(n){const e=-1!==n.indexOf("x"),t=-1!==n.indexOf("y");return function(i,r){const s=e?Math.abs(i.x-r.x):0,o=t?Math.abs(i.y-r.y):0;return Math.sqrt(Math.pow(s,2)+Math.pow(o,2))}}(t);let a=Number.POSITIVE_INFINITY;return xp(n,t,e,function(c,u,d){const h=c.inRange(e.x,e.y,r);if(i&&!h)return;const f=c.getCenterPoint(r);if(!cr(f,n.chartArea,n._minPadding)&&!h)return;const g=o(e,f);g<a?(s=[{element:c,datasetIndex:u,index:d}],a=g):g===a&&s.push({element:c,datasetIndex:u,index:d})}),s}(n,e,t,i,r):function(n,e,t,i){let r=[];return xp(n,t,e,function(o,a,l){const{startAngle:c,endAngle:u}=o.getProps(["startAngle","endAngle"],i),{angle:d}=hw(o,{x:e.x,y:e.y});Qo(d,c,u)&&r.push({element:o,datasetIndex:a,index:l})}),r}(n,e,t,r):[]}function dx(n,e,t,i){const r=la(e,n),s=[],o=t.axis,a="x"===o?"inXRange":"inYRange";let l=!1;return function(n,e){const t=n.getSortedVisibleDatasetMetas();let i,r,s;for(let o=0,a=t.length;o<a;++o){({index:i,data:r}=t[o]);for(let l=0,c=r.length;l<c;++l)s=r[l],s.skip||e(s,i,l)}}(n,(c,u,d)=>{c[a](r[o],i)&&s.push({element:c,datasetIndex:u,index:d}),c.inRange(r.x,r.y,i)&&(l=!0)}),t.intersect&&!l?[]:s}var Bj={modes:{index(n,e,t,i){const r=la(e,n),s=t.axis||"x",o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i),a=[];return o.length?(n.getSortedVisibleDatasetMetas().forEach(l=>{const c=o[0].index,u=l.data[c];u&&!u.skip&&a.push({element:u,datasetIndex:l.index,index:c})}),a):[]},dataset(n,e,t,i){const r=la(e,n),s=t.axis||"xy";let o=t.intersect?Ep(n,r,s,i):Mp(n,r,s,!1,i);if(o.length>0){const a=o[0].datasetIndex,l=n.getDatasetMeta(a).data;o=[];for(let c=0;c<l.length;++c)o.push({element:l[c],datasetIndex:a,index:c})}return o},point:(n,e,t,i)=>Ep(n,la(e,n),t.axis||"xy",i),nearest:(n,e,t,i)=>Mp(n,la(e,n),t.axis||"xy",t.intersect,i),x:(n,e,t,i)=>dx(n,e,{axis:"x",intersect:t.intersect},i),y:(n,e,t,i)=>dx(n,e,{axis:"y",intersect:t.intersect},i)}};const hx=["left","top","right","bottom"];function ca(n,e){return n.filter(t=>t.pos===e)}function fx(n,e){return n.filter(t=>-1===hx.indexOf(t.pos)&&t.box.axis===e)}function ua(n,e){return n.sort((t,i)=>{const r=e?i:t,s=e?t:i;return r.weight===s.weight?r.index-s.index:r.weight-s.weight})}function px(n,e,t,i){return Math.max(n[t],e[t])+Math.max(n[i],e[i])}function gx(n,e){n.top=Math.max(n.top,e.top),n.left=Math.max(n.left,e.left),n.bottom=Math.max(n.bottom,e.bottom),n.right=Math.max(n.right,e.right)}function zj(n,e,t,i){const{pos:r,box:s}=t,o=n.maxPadding;if(!oe(r)){t.size&&(n[r]-=t.size);const d=i[t.stack]||{size:0,count:1};d.size=Math.max(d.size,t.horizontal?s.height:s.width),t.size=d.size/d.count,n[r]+=t.size}s.getPadding&&gx(o,s.getPadding());const a=Math.max(0,e.outerWidth-px(o,n,"left","right")),l=Math.max(0,e.outerHeight-px(o,n,"top","bottom")),c=a!==n.w,u=l!==n.h;return n.w=a,n.h=l,t.horizontal?{same:c,other:u}:{same:u,other:c}}function Gj(n,e){const t=e.maxPadding;return function(r){const s={left:0,top:0,right:0,bottom:0};return r.forEach(o=>{s[o]=Math.max(e[o],t[o])}),s}(n?["left","right"]:["top","bottom"])}function da(n,e,t,i){const r=[];let s,o,a,l,c,u;for(s=0,o=n.length,c=0;s<o;++s){a=n[s],l=a.box,l.update(a.width||e.w,a.height||e.h,Gj(a.horizontal,e));const{same:d,other:h}=zj(e,t,a,i);c|=d&&r.length,u=u||h,l.fullSize||r.push(a)}return c&&da(r,e,t,i)||u}function Nc(n,e,t,i,r){n.top=t,n.left=e,n.right=e+i,n.bottom=t+r,n.width=i,n.height=r}function mx(n,e,t,i){const r=t.padding;let{x:s,y:o}=e;for(const a of n){const l=a.box,c=i[a.stack]||{count:1,placed:0,weight:1},u=a.stackWeight/c.weight||1;if(a.horizontal){const d=e.w*u,h=c.size||l.height;un(c.start)&&(o=c.start),l.fullSize?Nc(l,r.left,o,t.outerWidth-r.right-r.left,h):Nc(l,e.left+c.placed,o,d,h),c.start=o,c.placed+=d,o=l.bottom}else{const d=e.h*u,h=c.size||l.width;un(c.start)&&(s=c.start),l.fullSize?Nc(l,s,r.top,h,t.outerHeight-r.bottom-r.top):Nc(l,s,e.top+c.placed,h,d),c.start=s,c.placed+=d,s=l.right}}e.x=s,e.y=o}ae.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}});var mt={addBox(n,e){n.boxes||(n.boxes=[]),e.fullSize=e.fullSize||!1,e.position=e.position||"top",e.weight=e.weight||0,e._layers=e._layers||function(){return[{z:0,draw(t){e.draw(t)}}]},n.boxes.push(e)},removeBox(n,e){const t=n.boxes?n.boxes.indexOf(e):-1;-1!==t&&n.boxes.splice(t,1)},configure(n,e,t){e.fullSize=t.fullSize,e.position=t.position,e.weight=t.weight},update(n,e,t,i){if(!n)return;const r=gt(n.options.layout.padding),s=Math.max(e-r.width,0),o=Math.max(t-r.height,0),a=function(n){const e=function(n){const e=[];let t,i,r,s,o,a;for(t=0,i=(n||[]).length;t<i;++t)r=n[t],({position:s,options:{stack:o,stackWeight:a=1}}=r),e.push({index:t,box:r,pos:s,horizontal:r.isHorizontal(),weight:r.weight,stack:o&&s+o,stackWeight:a});return e}(n),t=ua(e.filter(c=>c.box.fullSize),!0),i=ua(ca(e,"left"),!0),r=ua(ca(e,"right")),s=ua(ca(e,"top"),!0),o=ua(ca(e,"bottom")),a=fx(e,"x"),l=fx(e,"y");return{fullSize:t,leftAndTop:i.concat(s),rightAndBottom:r.concat(l).concat(o).concat(a),chartArea:ca(e,"chartArea"),vertical:i.concat(r).concat(l),horizontal:s.concat(o).concat(a)}}(n.boxes),l=a.vertical,c=a.horizontal;pe(n.boxes,g=>{"function"==typeof g.beforeLayout&&g.beforeLayout()});const u=l.reduce((g,_)=>_.box.options&&!1===_.box.options.display?g:g+1,0)||1,d=Object.freeze({outerWidth:e,outerHeight:t,padding:r,availableWidth:s,availableHeight:o,vBoxMaxWidth:s/2/u,hBoxMaxHeight:o/2}),h=Object.assign({},r);gx(h,gt(i));const f=Object.assign({maxPadding:h,w:s,h:o,x:r.left,y:r.top},r),p=function(n,e){const t=function(n){const e={};for(const t of n){const{stack:i,pos:r,stackWeight:s}=t;if(!i||!hx.includes(r))continue;const o=e[i]||(e[i]={count:0,placed:0,weight:0,size:0});o.count++,o.weight+=s}return e}(n),{vBoxMaxWidth:i,hBoxMaxHeight:r}=e;let s,o,a;for(s=0,o=n.length;s<o;++s){a=n[s];const{fullSize:l}=a.box,c=t[a.stack],u=c&&a.stackWeight/c.weight;a.horizontal?(a.width=u?u*i:l&&e.availableWidth,a.height=r):(a.width=i,a.height=u?u*r:l&&e.availableHeight)}return t}(l.concat(c),d);da(a.fullSize,f,d,p),da(l,f,d,p),da(c,f,d,p)&&da(l,f,d,p),function(n){const e=n.maxPadding;function t(i){const r=Math.max(e[i]-n[i],0);return n[i]+=r,r}n.y+=t("top"),n.x+=t("left"),t("right"),t("bottom")}(f),mx(a.leftAndTop,f,d,p),f.x+=f.w,f.y+=f.h,mx(a.rightAndBottom,f,d,p),n.chartArea={left:f.left,top:f.top,right:f.left+f.w,bottom:f.top+f.h,height:f.h,width:f.w},pe(a.chartArea,g=>{const _=g.box;Object.assign(_,n.chartArea),_.update(f.w,f.h,{left:0,top:0,right:0,bottom:0})})}};class yx{acquireContext(e,t){}releaseContext(e){return!1}addEventListener(e,t,i){}removeEventListener(e,t,i){}getDevicePixelRatio(){return 1}getMaximumSize(e,t,i,r){return t=Math.max(0,t||e.width),i=i||e.height,{width:t,height:Math.max(0,r?Math.floor(t/r):i)}}isAttached(e){return!0}updateConfig(e){}}class qj extends yx{acquireContext(e){return e&&e.getContext&&e.getContext("2d")||null}updateConfig(e){e.options.animation=!1}}const Lc="$chartjs",Yj={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},_x=n=>null===n||""===n,vx=!!UB&&{passive:!0};function Zj(n,e,t){n.canvas.removeEventListener(e,t,vx)}function Vc(n,e){for(const t of n)if(t===e||t.contains(e))return!0}function Qj(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.addedNodes,i),o=o&&!Vc(a.removedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}function eH(n,e,t){const i=n.canvas,r=new MutationObserver(s=>{let o=!1;for(const a of s)o=o||Vc(a.removedNodes,i),o=o&&!Vc(a.addedNodes,i);o&&t()});return r.observe(document,{childList:!0,subtree:!0}),r}const ha=new Map;let bx=0;function Cx(){const n=window.devicePixelRatio;n!==bx&&(bx=n,ha.forEach((e,t)=>{t.currentDevicePixelRatio!==n&&e()}))}function iH(n,e,t){const i=n.canvas,r=i&&vp(i);if(!r)return;const s=iw((a,l)=>{const c=r.clientWidth;t(a,l),c<r.clientWidth&&t()},window),o=new ResizeObserver(a=>{const l=a[0],c=l.contentRect.width,u=l.contentRect.height;0===c&&0===u||s(c,u)});return o.observe(r),function(n,e){ha.size||window.addEventListener("resize",Cx),ha.set(n,e)}(n,s),o}function Sp(n,e,t){t&&t.disconnect(),"resize"===e&&function(n){ha.delete(n),ha.size||window.removeEventListener("resize",Cx)}(n)}function rH(n,e,t){const i=n.canvas,r=iw(s=>{null!==n.ctx&&t(function(n,e){const t=Yj[n.type]||n.type,{x:i,y:r}=Vw(n,e);return{type:t,chart:e,native:n,x:void 0!==i?i:null,y:void 0!==r?r:null}}(s,n))},n,s=>{const o=s[0];return[o,o.offsetX,o.offsetY]});return function(n,e,t){n.addEventListener(e,t,vx)}(i,e,r),r}class sH extends yx{acquireContext(e,t){const i=e&&e.getContext&&e.getContext("2d");return i&&i.canvas===e?(function(n,e){const t=n.style,i=n.getAttribute("height"),r=n.getAttribute("width");if(n[Lc]={initial:{height:i,width:r,style:{display:t.display,height:t.height,width:t.width}}},t.display=t.display||"block",t.boxSizing=t.boxSizing||"border-box",_x(r)){const s=jw(n,"width");void 0!==s&&(n.width=s)}if(_x(i))if(""===n.style.height)n.height=n.width/(e||2);else{const s=jw(n,"height");void 0!==s&&(n.height=s)}}(e,t),i):null}releaseContext(e){const t=e.canvas;if(!t[Lc])return!1;const i=t[Lc].initial;["height","width"].forEach(s=>{const o=i[s];de(o)?t.removeAttribute(s):t.setAttribute(s,o)});const r=i.style||{};return Object.keys(r).forEach(s=>{t.style[s]=r[s]}),t.width=t.width,delete t[Lc],!0}addEventListener(e,t,i){this.removeEventListener(e,t),(e.$proxies||(e.$proxies={}))[t]=({attach:Qj,detach:eH,resize:iH}[t]||rH)(e,t,i)}removeEventListener(e,t){const i=e.$proxies||(e.$proxies={}),r=i[t];r&&(({attach:Sp,detach:Sp,resize:Sp}[t]||Zj)(e,t,r),i[t]=void 0)}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(e,t,i,r){return function(n,e,t,i){const r=Fc(n),s=dr(r,"margin"),o=Rc(r.maxWidth,n,"clientWidth")||Cc,a=Rc(r.maxHeight,n,"clientHeight")||Cc,l=function(n,e,t){let i,r;if(void 0===e||void 0===t){const s=vp(n);if(s){const o=s.getBoundingClientRect(),a=Fc(s),l=dr(a,"border","width"),c=dr(a,"padding");e=o.width-c.width-l.width,t=o.height-c.height-l.height,i=Rc(a.maxWidth,s,"clientWidth"),r=Rc(a.maxHeight,s,"clientHeight")}else e=n.clientWidth,t=n.clientHeight}return{width:e,height:t,maxWidth:i||Cc,maxHeight:r||Cc}}(n,e,t);let{width:c,height:u}=l;if("content-box"===r.boxSizing){const d=dr(r,"border","width"),h=dr(r,"padding");c-=h.width+d.width,u-=h.height+d.height}return c=Math.max(0,c-s.width),u=Math.max(0,i?Math.floor(c/i):u-s.height),c=bp(Math.min(c,o,l.maxWidth)),u=bp(Math.min(u,a,l.maxHeight)),c&&!u&&(u=bp(c/2)),{width:c,height:u}}(e,t,i,r)}isAttached(e){const t=vp(e);return!(!t||!t.isConnected)}}class In{constructor(){this.x=void 0,this.y=void 0,this.active=!1,this.options=void 0,this.$animations=void 0}tooltipPosition(e){const{x:t,y:i}=this.getProps(["x","y"],e);return{x:t,y:i}}hasValue(){return Zo(this.x)&&Zo(this.y)}getProps(e,t){const i=this.$animations;if(!t||!i)return this;const r={};return e.forEach(s=>{r[s]=i[s]&&i[s].active()?i[s]._to:this[s]}),r}}In.defaults={},In.defaultRoutes=void 0;const Dx={values:n=>we(n)?n:""+n,numeric(n,e,t){if(0===n)return"0";const i=this.chart.options.locale;let r,s=n;if(t.length>1){const c=Math.max(Math.abs(t[0].value),Math.abs(t[t.length-1].value));(c<1e-4||c>1e15)&&(r="scientific"),s=function(n,e){let t=e.length>3?e[2].value-e[1].value:e[1].value-e[0].value;return Math.abs(t)>=1&&n!==Math.floor(n)&&(t=n-Math.floor(n)),t}(n,t)}const o=dn(Math.abs(s)),a=Math.max(Math.min(-1*Math.floor(o),20),0),l={notation:r,minimumFractionDigits:a,maximumFractionDigits:a};return Object.assign(l,this.options.ticks.format),oa(n,i,l)},logarithmic(n,e,t){if(0===n)return"0";const i=n/Math.pow(10,Math.floor(dn(n)));return 1===i||2===i||5===i?Dx.numeric.call(this,n,e,t):""}};var Bc={formatters:Dx};function jc(n,e,t,i,r){const s=K(i,0),o=Math.min(K(r,n.length),n.length);let l,c,u,a=0;for(t=Math.ceil(t),r&&(l=r-i,t=l/Math.floor(l/t)),u=s;u<0;)a++,u=Math.round(s+a*t);for(c=Math.max(s,0);c<o;c++)c===u&&(e.push(n[c]),a++,u=Math.round(s+a*t))}ae.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",grace:0,grid:{display:!0,lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(n,e)=>e.lineWidth,tickColor:(n,e)=>e.color,offset:!1,borderDash:[],borderDashOffset:0,borderWidth:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Bc.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),ae.route("scale.ticks","color","","color"),ae.route("scale.grid","color","","borderColor"),ae.route("scale.grid","borderColor","","borderColor"),ae.route("scale.title","color","","color"),ae.describe("scale",{_fallback:!1,_scriptable:n=>!n.startsWith("before")&&!n.startsWith("after")&&"callback"!==n&&"parser"!==n,_indexable:n=>"borderDash"!==n&&"tickBorderDash"!==n}),ae.describe("scales",{_fallback:"scale"}),ae.describe("scale.ticks",{_scriptable:n=>"backdropPadding"!==n&&"callback"!==n,_indexable:n=>"backdropPadding"!==n});const wx=(n,e,t)=>"top"===e||"left"===e?n[e]+t:n[e]-t;function xx(n,e){const t=[],i=n.length/e,r=n.length;let s=0;for(;s<r;s+=i)t.push(n[Math.floor(s)]);return t}function gH(n,e,t){const i=n.ticks.length,r=Math.min(e,i-1),s=n._startPixel,o=n._endPixel,a=1e-6;let c,l=n.getPixelForTick(r);if(!(t&&(c=1===i?Math.max(l-s,o-l):0===e?(n.getPixelForTick(1)-l)/2:(l-n.getPixelForTick(r-1))/2,l+=r<e?c:-c,l<s-a||l>o+a)))return l}function fa(n){return n.drawTicks?n.tickLength:0}function Ex(n,e){if(!n.display)return 0;const t=et(n.font,e),i=gt(n.padding);return(we(n.text)?n.text.length:1)*t.lineHeight+i.height}function vH(n,e,t){let i=np(n);return(t&&"right"!==e||!t&&"right"===e)&&(i=(n=>"left"===n?"right":"right"===n?"left":n)(i)),i}class pr extends In{constructor(e){super(),this.id=e.id,this.type=e.type,this.options=void 0,this.ctx=e.ctx,this.chart=e.chart,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this._margins={left:0,right:0,top:0,bottom:0},this.maxWidth=void 0,this.maxHeight=void 0,this.paddingTop=void 0,this.paddingBottom=void 0,this.paddingLeft=void 0,this.paddingRight=void 0,this.axis=void 0,this.labelRotation=void 0,this.min=void 0,this.max=void 0,this._range=void 0,this.ticks=[],this._gridLineItems=null,this._labelItems=null,this._labelSizes=null,this._length=0,this._maxLength=0,this._longestTextCache={},this._startPixel=void 0,this._endPixel=void 0,this._reversePixels=!1,this._userMax=void 0,this._userMin=void 0,this._suggestedMax=void 0,this._suggestedMin=void 0,this._ticksLength=0,this._borderValue=0,this._cache={},this._dataLimitsCached=!1,this.$context=void 0}init(e){this.options=e.setContext(this.getContext()),this.axis=e.axis,this._userMin=this.parse(e.min),this._userMax=this.parse(e.max),this._suggestedMin=this.parse(e.suggestedMin),this._suggestedMax=this.parse(e.suggestedMax)}parse(e,t){return e}getUserBounds(){let{_userMin:e,_userMax:t,_suggestedMin:i,_suggestedMax:r}=this;return e=cn(e,Number.POSITIVE_INFINITY),t=cn(t,Number.NEGATIVE_INFINITY),i=cn(i,Number.POSITIVE_INFINITY),r=cn(r,Number.NEGATIVE_INFINITY),{min:cn(e,i),max:cn(t,r),minDefined:Be(e),maxDefined:Be(t)}}getMinMax(e){let o,{min:t,max:i,minDefined:r,maxDefined:s}=this.getUserBounds();if(r&&s)return{min:t,max:i};const a=this.getMatchingVisibleMetas();for(let l=0,c=a.length;l<c;++l)o=a[l].controller.getMinMax(this,e),r||(t=Math.min(t,o.min)),s||(i=Math.max(i,o.max));return t=s&&t>i?i:t,i=r&&t>i?t:i,{min:cn(t,cn(i,t)),max:cn(i,cn(t,i))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const e=this.chart.data;return this.options.labels||(this.isHorizontal()?e.xLabels:e.yLabels)||e.labels||[]}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){xe(this.options.beforeUpdate,[this])}update(e,t,i){const{beginAtZero:r,grace:s,ticks:o}=this.options,a=o.sampleSize;this.beforeUpdate(),this.maxWidth=e,this.maxHeight=t,this._margins=i=Object.assign({left:0,right:0,top:0,bottom:0},i),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+i.left+i.right:this.height+i.top+i.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=function(n,e,t){const{min:i,max:r}=n,s=rw(e,(r-i)/2),o=(a,l)=>t&&0===a?0:a+l;return{min:o(i,-Math.abs(s)),max:o(r,s)}}(this,s,r),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=a<this.ticks.length;this._convertTicksToLabels(l?xx(this.ticks,a):this.ticks),this.configure(),this.beforeCalculateLabelRotation(),this.calculateLabelRotation(),this.afterCalculateLabelRotation(),o.display&&(o.autoSkip||"auto"===o.source)&&(this.ticks=function(n,e){const t=n.options.ticks,i=t.maxTicksLimit||function(n){const e=n.options.offset,t=n._tickSize();return Math.floor(Math.min(n._length/t+(e?0:1),n._maxLength/t))}(n),r=t.major.enabled?function(n){const e=[];let t,i;for(t=0,i=n.length;t<i;t++)n[t].major&&e.push(t);return e}(e):[],s=r.length,o=r[0],a=r[s-1],l=[];if(s>i)return function(n,e,t,i){let o,r=0,s=t[0];for(i=Math.ceil(i),o=0;o<n.length;o++)o===s&&(e.push(n[o]),r++,s=t[r*i])}(e,l,r,s/i),l;const c=function(n,e,t){const i=function(n){const e=n.length;let t,i;if(e<2)return!1;for(i=n[0],t=1;t<e;++t)if(n[t]-n[t-1]!==i)return!1;return i}(n),r=e.length/t;if(!i)return Math.max(r,1);const s=function(n){const e=[],t=Math.sqrt(n);let i;for(i=1;i<t;i++)n%i==0&&(e.push(i),e.push(n/i));return t===(0|t)&&e.push(t),e.sort((r,s)=>r-s).pop(),e}(i);for(let o=0,a=s.length-1;o<a;o++){const l=s[o];if(l>r)return l}return Math.max(r,1)}(r,e,i);if(s>0){let u,d;const h=s>1?Math.round((a-o)/(s-1)):null;for(jc(e,l,c,de(h)?0:o-h,o),u=0,d=s-1;u<d;u++)jc(e,l,c,r[u],r[u+1]);return jc(e,l,c,a,de(h)?e.length:a+h),l}return jc(e,l,c),l}(this,this.ticks),this._labelSizes=null),l&&this._convertTicksToLabels(this.ticks),this.beforeFit(),this.fit(),this.afterFit(),this.afterUpdate()}configure(){let t,i,e=this.options.reverse;this.isHorizontal()?(t=this.left,i=this.right):(t=this.top,i=this.bottom,e=!e),this._startPixel=t,this._endPixel=i,this._reversePixels=e,this._length=i-t,this._alignToPixels=this.options.alignToPixels}afterUpdate(){xe(this.options.afterUpdate,[this])}beforeSetDimensions(){xe(this.options.beforeSetDimensions,[this])}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=0,this.right=this.width):(this.height=this.maxHeight,this.top=0,this.bottom=this.height),this.paddingLeft=0,this.paddingTop=0,this.paddingRight=0,this.paddingBottom=0}afterSetDimensions(){xe(this.options.afterSetDimensions,[this])}_callHooks(e){this.chart.notifyPlugins(e,this.getContext()),xe(this.options[e],[this])}beforeDataLimits(){this._callHooks("beforeDataLimits")}determineDataLimits(){}afterDataLimits(){this._callHooks("afterDataLimits")}beforeBuildTicks(){this._callHooks("beforeBuildTicks")}buildTicks(){return[]}afterBuildTicks(){this._callHooks("afterBuildTicks")}beforeTickToLabelConversion(){xe(this.options.beforeTickToLabelConversion,[this])}generateTickLabels(e){const t=this.options.ticks;let i,r,s;for(i=0,r=e.length;i<r;i++)s=e[i],s.label=xe(t.callback,[s.value,i,e],this)}afterTickToLabelConversion(){xe(this.options.afterTickToLabelConversion,[this])}beforeCalculateLabelRotation(){xe(this.options.beforeCalculateLabelRotation,[this])}calculateLabelRotation(){const e=this.options,t=e.ticks,i=this.ticks.length,r=t.minRotation||0,s=t.maxRotation;let a,l,c,o=r;if(!this._isVisible()||!t.display||r>=s||i<=1||!this.isHorizontal())return void(this.labelRotation=r);const u=this._getLabelSizes(),d=u.widest.width,h=u.highest.height,f=ot(this.chart.width-d,0,this.maxWidth);a=e.offset?this.maxWidth/i:f/(i-1),d+6>a&&(a=f/(i-(e.offset?.5:1)),l=this.maxHeight-fa(e.grid)-t.padding-Ex(e.title,this.chart.options.font),c=Math.sqrt(d*d+h*h),o=rp(Math.min(Math.asin(ot((u.highest.height+6)/a,-1,1)),Math.asin(ot(l/c,-1,1))-Math.asin(ot(h/c,-1,1)))),o=Math.max(r,Math.min(s,o))),this.labelRotation=o}afterCalculateLabelRotation(){xe(this.options.afterCalculateLabelRotation,[this])}beforeFit(){xe(this.options.beforeFit,[this])}fit(){const e={width:0,height:0},{chart:t,options:{ticks:i,title:r,grid:s}}=this,o=this._isVisible(),a=this.isHorizontal();if(o){const l=Ex(r,t.options.font);if(a?(e.width=this.maxWidth,e.height=fa(s)+l):(e.height=this.maxHeight,e.width=fa(s)+l),i.display&&this.ticks.length){const{first:c,last:u,widest:d,highest:h}=this._getLabelSizes(),f=2*i.padding,p=An(this.labelRotation),g=Math.cos(p),_=Math.sin(p);a?e.height=Math.min(this.maxHeight,e.height+(i.mirror?0:_*d.width+g*h.height)+f):e.width=Math.min(this.maxWidth,e.width+(i.mirror?0:g*d.width+_*h.height)+f),this._calculatePadding(c,u,_,g)}}this._handleMargins(),a?(this.width=this._length=t.width-this._margins.left-this._margins.right,this.height=e.height):(this.width=e.width,this.height=this._length=t.height-this._margins.top-this._margins.bottom)}_calculatePadding(e,t,i,r){const{ticks:{align:s,padding:o},position:a}=this.options,l=0!==this.labelRotation,c="top"!==a&&"x"===this.axis;if(this.isHorizontal()){const u=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let h=0,f=0;l?c?(h=r*e.width,f=i*t.height):(h=i*e.height,f=r*t.width):"start"===s?f=t.width:"end"===s?h=e.width:(h=e.width/2,f=t.width/2),this.paddingLeft=Math.max((h-u+o)*this.width/(this.width-u),0),this.paddingRight=Math.max((f-d+o)*this.width/(this.width-d),0)}else{let u=t.height/2,d=e.height/2;"start"===s?(u=0,d=e.height):"end"===s&&(u=t.height,d=0),this.paddingTop=u+o,this.paddingBottom=d+o}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){xe(this.options.afterFit,[this])}isHorizontal(){const{axis:e,position:t}=this.options;return"top"===t||"bottom"===t||"x"===e}isFullSize(){return this.options.fullSize}_convertTicksToLabels(e){let t,i;for(this.beforeTickToLabelConversion(),this.generateTickLabels(e),t=0,i=e.length;t<i;t++)de(e[t].label)&&(e.splice(t,1),i--,t--);this.afterTickToLabelConversion()}_getLabelSizes(){let e=this._labelSizes;if(!e){const t=this.options.ticks.sampleSize;let i=this.ticks;t<i.length&&(i=xx(i,t)),this._labelSizes=e=this._computeLabelSizes(i,i.length)}return e}_computeLabelSizes(e,t){const{ctx:i,_longestTextCache:r}=this,s=[],o=[];let c,u,d,h,f,p,g,_,v,b,D,a=0,l=0;for(c=0;c<t;++c){if(h=e[c].label,f=this._resolveTickFontOptions(c),i.font=p=f.string,g=r[p]=r[p]||{data:{},gc:[]},_=f.lineHeight,v=b=0,de(h)||we(h)){if(we(h))for(u=0,d=h.length;u<d;++u)D=h[u],!de(D)&&!we(D)&&(v=Ac(i,g.data,g.gc,v,D),b+=_)}else v=Ac(i,g.data,g.gc,v,h),b=_;s.push(v),o.push(b),a=Math.max(v,a),l=Math.max(b,l)}!function(n,e){pe(n,t=>{const i=t.gc,r=i.length/2;let s;if(r>e){for(s=0;s<r;++s)delete t.data[i[s]];i.splice(0,r)}})}(r,t);const C=s.indexOf(a),w=o.indexOf(l),M=A=>({width:s[A]||0,height:o[A]||0});return{first:M(0),last:M(t-1),widest:M(C),highest:M(w),widths:s,heights:o}}getLabelForValue(e){return e}getPixelForValue(e,t){return NaN}getValueForPixel(e){}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getPixelForDecimal(e){this._reversePixels&&(e=1-e);const t=this._startPixel+e*this._length;return ot(this._alignToPixels?lr(this.chart,t,0):t,-32768,32767)}getDecimalForPixel(e){const t=(e-this._startPixel)/this._length;return this._reversePixels?1-t:t}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:e,max:t}=this;return e<0&&t<0?t:e>0&&t>0?e:0}getContext(e){const t=this.ticks||[];if(e>=0&&e<t.length){const i=t[e];return i.$context||(i.$context=function(n,e,t){return Li(n,{tick:t,index:e,type:"tick"})}(this.getContext(),e,i))}return this.$context||(this.$context=function(n,e){return Li(n,{scale:e,type:"scale"})}(this.chart.getContext(),this))}_tickSize(){const e=this.options.ticks,t=An(this.labelRotation),i=Math.abs(Math.cos(t)),r=Math.abs(Math.sin(t)),s=this._getLabelSizes(),o=e.autoSkipPadding||0,a=s?s.widest.width+o:0,l=s?s.highest.height+o:0;return this.isHorizontal()?l*i>a*r?a/i:l/r:l*r<a*i?l/i:a/r}_isVisible(){const e=this.options.display;return"auto"!==e?!!e:this.getMatchingVisibleMetas().length>0}_computeGridLineItems(e){const t=this.axis,i=this.chart,r=this.options,{grid:s,position:o}=r,a=s.offset,l=this.isHorizontal(),u=this.ticks.length+(a?1:0),d=fa(s),h=[],f=s.setContext(this.getContext()),p=f.drawBorder?f.borderWidth:0,g=p/2,_=function(J){return lr(i,J,p)};let v,b,D,C,w,M,A,O,k,ue,te,ne;if("top"===o)v=_(this.bottom),M=this.bottom-d,O=v-g,ue=_(e.top)+g,ne=e.bottom;else if("bottom"===o)v=_(this.top),ue=e.top,ne=_(e.bottom)-g,M=v+g,O=this.top+d;else if("left"===o)v=_(this.right),w=this.right-d,A=v-g,k=_(e.left)+g,te=e.right;else if("right"===o)v=_(this.left),k=e.left,te=_(e.right)-g,w=v+g,A=this.left+d;else if("x"===t){if("center"===o)v=_((e.top+e.bottom)/2+.5);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}ue=e.top,ne=e.bottom,M=v+g,O=M+d}else if("y"===t){if("center"===o)v=_((e.left+e.right)/2);else if(oe(o)){const J=Object.keys(o)[0];v=_(this.chart.scales[J].getPixelForValue(o[J]))}w=v-g,A=w-d,k=e.left,te=e.right}const Ie=K(r.ticks.maxTicksLimit,u),tt=Math.max(1,Math.ceil(u/Ie));for(b=0;b<u;b+=tt){const J=s.setContext(this.getContext(b)),he=J.lineWidth,va=J.color,yr=s.borderDash||[],ba=J.borderDashOffset,tu=J.tickWidth,Ts=J.tickColor,Ca=J.tickBorderDash||[],Da=J.tickBorderDashOffset;D=gH(this,b,a),void 0!==D&&(C=lr(i,D,he),l?w=A=k=te=C:M=O=ue=ne=C,h.push({tx1:w,ty1:M,tx2:A,ty2:O,x1:k,y1:ue,x2:te,y2:ne,width:he,color:va,borderDash:yr,borderDashOffset:ba,tickWidth:tu,tickColor:Ts,tickBorderDash:Ca,tickBorderDashOffset:Da}))}return this._ticksLength=u,this._borderValue=v,h}_computeLabelItems(e){const t=this.axis,i=this.options,{position:r,ticks:s}=i,o=this.isHorizontal(),a=this.ticks,{align:l,crossAlign:c,padding:u,mirror:d}=s,h=fa(i.grid),f=h+u,p=d?-u:f,g=-An(this.labelRotation),_=[];let v,b,D,C,w,M,A,O,k,ue,te,ne,Ie="middle";if("top"===r)M=this.bottom-p,A=this._getXAxisLabelAlignment();else if("bottom"===r)M=this.top+p,A=this._getXAxisLabelAlignment();else if("left"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("right"===r){const J=this._getYAxisLabelAlignment(h);A=J.textAlign,w=J.x}else if("x"===t){if("center"===r)M=(e.top+e.bottom)/2+f;else if(oe(r)){const J=Object.keys(r)[0];M=this.chart.scales[J].getPixelForValue(r[J])+f}A=this._getXAxisLabelAlignment()}else if("y"===t){if("center"===r)w=(e.left+e.right)/2-f;else if(oe(r)){const J=Object.keys(r)[0];w=this.chart.scales[J].getPixelForValue(r[J])}A=this._getYAxisLabelAlignment(h).textAlign}"y"===t&&("start"===l?Ie="top":"end"===l&&(Ie="bottom"));const tt=this._getLabelSizes();for(v=0,b=a.length;v<b;++v){D=a[v],C=D.label;const J=s.setContext(this.getContext(v));O=this.getPixelForTick(v)+s.labelOffset,k=this._resolveTickFontOptions(v),ue=k.lineHeight,te=we(C)?C.length:1;const he=te/2,va=J.color,yr=J.textStrokeColor,ba=J.textStrokeWidth;let tu;if(o?(w=O,ne="top"===r?"near"===c||0!==g?-te*ue+ue/2:"center"===c?-tt.highest.height/2-he*ue+ue:ue/2-tt.highest.height:"near"===c||0!==g?ue/2:"center"===c?tt.highest.height/2-he*ue:tt.highest.height-te*ue,d&&(ne*=-1)):(M=O,ne=(1-te)*ue/2),J.showLabelBackdrop){const Ts=gt(J.backdropPadding),Ca=tt.heights[v],Da=tt.widths[v];let zp=M+ne-Ts.top,Wp=w-Ts.left;switch(Ie){case"middle":zp-=Ca/2;break;case"bottom":zp-=Ca}switch(A){case"center":Wp-=Da/2;break;case"right":Wp-=Da}tu={left:Wp,top:zp,width:Da+Ts.width,height:Ca+Ts.height,color:J.backdropColor}}_.push({rotation:g,label:C,font:k,color:va,strokeColor:yr,strokeWidth:ba,textOffset:ne,textAlign:A,textBaseline:Ie,translation:[w,M],backdrop:tu})}return _}_getXAxisLabelAlignment(){const{position:e,ticks:t}=this.options;if(-An(this.labelRotation))return"top"===e?"left":"right";let r="center";return"start"===t.align?r="left":"end"===t.align&&(r="right"),r}_getYAxisLabelAlignment(e){const{position:t,ticks:{crossAlign:i,mirror:r,padding:s}}=this.options,a=e+s,l=this._getLabelSizes().widest.width;let c,u;return"left"===t?r?(u=this.right+s,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u+=l)):(u=this.right-a,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u=this.left)):"right"===t?r?(u=this.left+s,"near"===i?c="right":"center"===i?(c="center",u-=l/2):(c="left",u-=l)):(u=this.left+a,"near"===i?c="left":"center"===i?(c="center",u+=l/2):(c="right",u=this.right)):c="right",{textAlign:c,x:u}}_computeLabelArea(){if(this.options.ticks.mirror)return;const e=this.chart,t=this.options.position;return"left"===t||"right"===t?{top:0,left:this.left,bottom:e.height,right:this.right}:"top"===t||"bottom"===t?{top:this.top,left:0,bottom:this.bottom,right:e.width}:void 0}drawBackground(){const{ctx:e,options:{backgroundColor:t},left:i,top:r,width:s,height:o}=this;t&&(e.save(),e.fillStyle=t,e.fillRect(i,r,s,o),e.restore())}getLineWidthForValue(e){const t=this.options.grid;if(!this._isVisible()||!t.display)return 0;const r=this.ticks.findIndex(s=>s.value===e);return r>=0?t.setContext(this.getContext(r)).lineWidth:0}drawGrid(e){const t=this.options.grid,i=this.ctx,r=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(e));let s,o;const a=(l,c,u)=>{!u.width||!u.color||(i.save(),i.lineWidth=u.width,i.strokeStyle=u.color,i.setLineDash(u.borderDash||[]),i.lineDashOffset=u.borderDashOffset,i.beginPath(),i.moveTo(l.x,l.y),i.lineTo(c.x,c.y),i.stroke(),i.restore())};if(t.display)for(s=0,o=r.length;s<o;++s){const l=r[s];t.drawOnChartArea&&a({x:l.x1,y:l.y1},{x:l.x2,y:l.y2},l),t.drawTicks&&a({x:l.tx1,y:l.ty1},{x:l.tx2,y:l.ty2},{color:l.tickColor,width:l.tickWidth,borderDash:l.tickBorderDash,borderDashOffset:l.tickBorderDashOffset})}}drawBorder(){const{chart:e,ctx:t,options:{grid:i}}=this,r=i.setContext(this.getContext()),s=i.drawBorder?r.borderWidth:0;if(!s)return;const o=i.setContext(this.getContext(0)).lineWidth,a=this._borderValue;let l,c,u,d;this.isHorizontal()?(l=lr(e,this.left,s)-s/2,c=lr(e,this.right,o)+o/2,u=d=a):(u=lr(e,this.top,s)-s/2,d=lr(e,this.bottom,o)+o/2,l=c=a),t.save(),t.lineWidth=r.borderWidth,t.strokeStyle=r.borderColor,t.beginPath(),t.moveTo(l,u),t.lineTo(c,d),t.stroke(),t.restore()}drawLabels(e){if(!this.options.ticks.display)return;const i=this.ctx,r=this._computeLabelArea();r&&Tc(i,r);const s=this._labelItems||(this._labelItems=this._computeLabelItems(e));let o,a;for(o=0,a=s.length;o<a;++o){const l=s[o],c=l.font,u=l.label;l.backdrop&&(i.fillStyle=l.backdrop.color,i.fillRect(l.backdrop.left,l.backdrop.top,l.backdrop.width,l.backdrop.height)),ur(i,u,0,l.textOffset,c,l)}r&&Oc(i)}drawTitle(){const{ctx:e,options:{position:t,title:i,reverse:r}}=this;if(!i.display)return;const s=et(i.font),o=gt(i.padding),a=i.align;let l=s.lineHeight/2;"bottom"===t||"center"===t||oe(t)?(l+=o.bottom,we(i.text)&&(l+=s.lineHeight*(i.text.length-1))):l+=o.top;const{titleX:c,titleY:u,maxWidth:d,rotation:h}=function(n,e,t,i){const{top:r,left:s,bottom:o,right:a,chart:l}=n,{chartArea:c,scales:u}=l;let h,f,p,d=0;const g=o-r,_=a-s;if(n.isHorizontal()){if(f=pt(i,s,a),oe(t)){const v=Object.keys(t)[0];p=u[v].getPixelForValue(t[v])+g-e}else p="center"===t?(c.bottom+c.top)/2+g-e:wx(n,t,e);h=a-s}else{if(oe(t)){const v=Object.keys(t)[0];f=u[v].getPixelForValue(t[v])-_+e}else f="center"===t?(c.left+c.right)/2-_+e:wx(n,t,e);p=pt(i,o,r),d="left"===t?-Fe:Fe}return{titleX:f,titleY:p,maxWidth:h,rotation:d}}(this,l,t,a);ur(e,i.text,0,0,s,{color:i.color,maxWidth:d,rotation:h,textAlign:vH(a,t,r),textBaseline:"middle",translation:[c,u]})}draw(e){!this._isVisible()||(this.drawBackground(),this.drawGrid(e),this.drawBorder(),this.drawTitle(),this.drawLabels(e))}_layers(){const e=this.options,t=e.ticks&&e.ticks.z||0,i=K(e.grid&&e.grid.z,-1);return this._isVisible()&&this.draw===pr.prototype.draw?[{z:i,draw:r=>{this.drawBackground(),this.drawGrid(r),this.drawTitle()}},{z:i+1,draw:()=>{this.drawBorder()}},{z:t,draw:r=>{this.drawLabels(r)}}]:[{z:t,draw:r=>{this.draw(r)}}]}getMatchingVisibleMetas(e){const t=this.chart.getSortedVisibleDatasetMetas(),i=this.axis+"AxisID",r=[];let s,o;for(s=0,o=t.length;s<o;++s){const a=t[s];a[i]===this.id&&(!e||a.type===e)&&r.push(a)}return r}_resolveTickFontOptions(e){return et(this.options.ticks.setContext(this.getContext(e)).font)}_maxDigits(){const e=this._resolveTickFontOptions(0).lineHeight;return(this.isHorizontal()?this.width:this.height)/e}}class Hc{constructor(e,t,i){this.type=e,this.scope=t,this.override=i,this.items=Object.create(null)}isForType(e){return Object.prototype.isPrototypeOf.call(this.type.prototype,e.prototype)}register(e){const t=Object.getPrototypeOf(e);let i;var n;"id"in(n=t)&&"defaults"in n&&(i=this.register(t));const r=this.items,s=e.id,o=this.scope+"."+s;if(!s)throw new Error("class does not have id: "+e);return s in r||(r[s]=e,function(n,e,t){const i=Yo(Object.create(null),[t?ae.get(t):{},ae.get(e),n.defaults]);ae.set(e,i),n.defaultRoutes&&function(n,e){Object.keys(e).forEach(t=>{const i=t.split("."),r=i.pop(),s=[n].concat(i).join("."),o=e[t].split("."),a=o.pop(),l=o.join(".");ae.route(s,r,l,a)})}(e,n.defaultRoutes),n.descriptors&&ae.describe(e,n.descriptors)}(e,o,i),this.override&&ae.override(e.id,e.overrides)),o}get(e){return this.items[e]}unregister(e){const t=this.items,i=e.id,r=this.scope;i in t&&delete t[i],r&&i in ae[r]&&(delete ae[r][i],this.override&&delete ar[i])}}var yi=new class{constructor(){this.controllers=new Hc(mi,"datasets",!0),this.elements=new Hc(In,"elements"),this.plugins=new Hc(Object,"plugins"),this.scales=new Hc(pr,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...e){this._each("register",e)}remove(...e){this._each("unregister",e)}addControllers(...e){this._each("register",e,this.controllers)}addElements(...e){this._each("register",e,this.elements)}addPlugins(...e){this._each("register",e,this.plugins)}addScales(...e){this._each("register",e,this.scales)}getController(e){return this._get(e,this.controllers,"controller")}getElement(e){return this._get(e,this.elements,"element")}getPlugin(e){return this._get(e,this.plugins,"plugin")}getScale(e){return this._get(e,this.scales,"scale")}removeControllers(...e){this._each("unregister",e,this.controllers)}removeElements(...e){this._each("unregister",e,this.elements)}removePlugins(...e){this._each("unregister",e,this.plugins)}removeScales(...e){this._each("unregister",e,this.scales)}_each(e,t,i){[...t].forEach(r=>{const s=i||this._getRegistryForType(r);i||s.isForType(r)||s===this.plugins&&r.id?this._exec(e,s,r):pe(r,o=>{const a=i||this._getRegistryForType(o);this._exec(e,a,o)})})}_exec(e,t,i){const r=ip(e);xe(i["before"+r],[],i),t[e](i),xe(i["after"+r],[],i)}_getRegistryForType(e){for(let t=0;t<this._typedRegistries.length;t++){const i=this._typedRegistries[t];if(i.isForType(e))return i}return this.plugins}_get(e,t,i){const r=t.get(e);if(void 0===r)throw new Error('"'+e+'" is not a registered '+i+".");return r}};class EH{constructor(){this._init=[]}notify(e,t,i,r){"beforeInit"===t&&(this._init=this._createDescriptors(e,!0),this._notify(this._init,e,"install"));const s=r?this._descriptors(e).filter(r):this._descriptors(e),o=this._notify(s,e,t,i);return"afterDestroy"===t&&(this._notify(s,e,"stop"),this._notify(this._init,e,"uninstall")),o}_notify(e,t,i,r){r=r||{};for(const s of e){const o=s.plugin;if(!1===xe(o[i],[t,r,s.options],o)&&r.cancelable)return!1}return!0}invalidate(){de(this._cache)||(this._oldCache=this._cache,this._cache=void 0)}_descriptors(e){if(this._cache)return this._cache;const t=this._cache=this._createDescriptors(e);return this._notifyStateChanges(e),t}_createDescriptors(e,t){const i=e&&e.config,r=K(i.options&&i.options.plugins,{}),s=function(n){const e=[],t=Object.keys(yi.plugins.items);for(let r=0;r<t.length;r++)e.push(yi.getPlugin(t[r]));const i=n.plugins||[];for(let r=0;r<i.length;r++){const s=i[r];-1===e.indexOf(s)&&e.push(s)}return e}(i);return!1!==r||t?function(n,e,t,i){const r=[],s=n.getContext();for(let o=0;o<e.length;o++){const a=e[o],c=SH(t[a.id],i);null!==c&&r.push({plugin:a,options:IH(n.config,a,c,s)})}return r}(e,s,r,t):[]}_notifyStateChanges(e){const t=this._oldCache||[],i=this._cache,r=(s,o)=>s.filter(a=>!o.some(l=>a.plugin.id===l.plugin.id));this._notify(r(t,i),e,"stop"),this._notify(r(i,t),e,"start")}}function SH(n,e){return e||!1!==n?!0===n?{}:n:null}function IH(n,e,t,i){const r=n.pluginScopeKeys(e),s=n.getOptionScopes(t,r);return n.createResolver(s,i,[""],{scriptable:!1,indexable:!1,allKeys:!0})}function Ap(n,e){return((e.datasets||{})[n]||{}).indexAxis||e.indexAxis||(ae.datasets[n]||{}).indexAxis||"x"}function Ip(n,e){return"x"===n||"y"===n?n:e.axis||function(n){return"top"===n||"bottom"===n?"x":"left"===n||"right"===n?"y":void 0}(e.position)||n.charAt(0).toLowerCase()}function Mx(n){const e=n.options||(n.options={});e.plugins=K(e.plugins,{}),e.scales=function(n,e){const t=ar[n.type]||{scales:{}},i=e.scales||{},r=Ap(n.type,e),s=Object.create(null),o=Object.create(null);return Object.keys(i).forEach(a=>{const l=i[a];if(!oe(l))return console.error(`Invalid scale configuration for scale: ${a}`);if(l._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const c=Ip(a,l),u=function(n,e){return n===e?"_index_":"_value_"}(c,r),d=t.scales||{};s[c]=s[c]||a,o[a]=Ko(Object.create(null),[{axis:c},l,d[c],d[u]])}),n.data.datasets.forEach(a=>{const l=a.type||n.type,c=a.indexAxis||Ap(l,e),d=(ar[l]||{}).scales||{};Object.keys(d).forEach(h=>{const f=function(n,e){let t=n;return"_index_"===n?t=e:"_value_"===n&&(t="x"===e?"y":"x"),t}(h,c),p=a[f+"AxisID"]||s[f]||f;o[p]=o[p]||Object.create(null),Ko(o[p],[{axis:f},i[p],d[h]])})}),Object.keys(o).forEach(a=>{const l=o[a];Ko(l,[ae.scales[l.type],ae.scale])}),o}(n,e)}function Sx(n){return(n=n||{}).datasets=n.datasets||[],n.labels=n.labels||[],n}const Ax=new Map,Ix=new Set;function Uc(n,e){let t=Ax.get(n);return t||(t=e(),Ax.set(n,t),Ix.add(t)),t}const pa=(n,e,t)=>{const i=or(e,t);void 0!==i&&n.add(i)};class FH{constructor(e){var n;this._config=((n=(n=e)||{}).data=Sx(n.data),Mx(n),n),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(e){this._config.type=e}get data(){return this._config.data}set data(e){this._config.data=Sx(e)}get options(){return this._config.options}set options(e){this._config.options=e}get plugins(){return this._config.plugins}update(){const e=this._config;this.clearCache(),Mx(e)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(e){return Uc(e,()=>[[`datasets.${e}`,""]])}datasetAnimationScopeKeys(e,t){return Uc(`${e}.transition.${t}`,()=>[[`datasets.${e}.transitions.${t}`,`transitions.${t}`],[`datasets.${e}`,""]])}datasetElementScopeKeys(e,t){return Uc(`${e}-${t}`,()=>[[`datasets.${e}.elements.${t}`,`datasets.${e}`,`elements.${t}`,""]])}pluginScopeKeys(e){const t=e.id;return Uc(`${this.type}-plugin-${t}`,()=>[[`plugins.${t}`,...e.additionalOptionScopes||[]]])}_cachedScopes(e,t){const i=this._scopeCache;let r=i.get(e);return(!r||t)&&(r=new Map,i.set(e,r)),r}getOptionScopes(e,t,i){const{options:r,type:s}=this,o=this._cachedScopes(e,i),a=o.get(t);if(a)return a;const l=new Set;t.forEach(u=>{e&&(l.add(e),u.forEach(d=>pa(l,e,d))),u.forEach(d=>pa(l,r,d)),u.forEach(d=>pa(l,ar[s]||{},d)),u.forEach(d=>pa(l,ae,d)),u.forEach(d=>pa(l,hp,d))});const c=Array.from(l);return 0===c.length&&c.push(Object.create(null)),Ix.has(t)&&o.set(t,c),c}chartOptionScopes(){const{options:e,type:t}=this;return[e,ar[t]||{},ae.datasets[t]||{},{type:t},ae,hp]}resolveNamedOptions(e,t,i,r=[""]){const s={$shared:!0},{resolver:o,subPrefixes:a}=Tx(this._resolverCache,e,r);let l=o;(function(n,e){const{isScriptable:t,isIndexable:i}=Tw(n);for(const r of e){const s=t(r),o=i(r),a=(o||s)&&n[r];if(s&&(Ni(a)||NH(a))||o&&we(a))return!0}return!1})(o,t)&&(s.$shared=!1,l=Es(o,i=Ni(i)?i():i,this.createResolver(e,i,a)));for(const c of t)s[c]=l[c];return s}createResolver(e,t,i=[""],r){const{resolver:s}=Tx(this._resolverCache,e,i);return oe(t)?Es(s,t,void 0,r):s}}function Tx(n,e,t){let i=n.get(e);i||(i=new Map,n.set(e,i));const r=t.join();let s=i.get(r);return s||(s={resolver:mp(e,t),subPrefixes:t.filter(a=>!a.toLowerCase().includes("hover"))},i.set(r,s)),s}const NH=n=>oe(n)&&Object.getOwnPropertyNames(n).reduce((e,t)=>e||Ni(n[t]),!1),BH=["top","bottom","left","right","chartArea"];function Ox(n,e){return"top"===n||"bottom"===n||-1===BH.indexOf(n)&&"x"===e}function Px(n,e){return function(t,i){return t[n]===i[n]?t[e]-i[e]:t[n]-i[n]}}function kx(n){const e=n.chart,t=e.options.animation;e.notifyPlugins("afterRender"),xe(t&&t.onComplete,[n],e)}function jH(n){const e=n.chart,t=e.options.animation;xe(t&&t.onProgress,[n],e)}function Rx(n){return Lw()&&"string"==typeof n?n=document.getElementById(n):n&&n.length&&(n=n[0]),n&&n.canvas&&(n=n.canvas),n}const $c={},Fx=n=>{const e=Rx(n);return Object.values($c).filter(t=>t.canvas===e).pop()};function HH(n,e,t){const i=Object.keys(n);for(const r of i){const s=+r;if(s>=e){const o=n[r];delete n[r],(t>0||s>e)&&(n[s+t]=o)}}}class gr{constructor(e,t){const i=this.config=new FH(t),r=Rx(e),s=Fx(r);if(s)throw new Error("Canvas is already in use. Chart with ID '"+s.id+"' must be destroyed before the canvas can be reused.");const o=i.createResolver(i.chartOptionScopes(),this.getContext());var n;this.platform=new(i.platform||(n=r,!Lw()||"undefined"!=typeof OffscreenCanvas&&n instanceof OffscreenCanvas?qj:sH)),this.platform.updateConfig(i);const a=this.platform.acquireContext(r,o.aspectRatio),l=a&&a.canvas,c=l&&l.height,u=l&&l.width;this.id=S2(),this.ctx=a,this.canvas=l,this.width=u,this.height=c,this._options=o,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new EH,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=function(n,e){let t;return function(...i){return e?(clearTimeout(t),t=setTimeout(n,e,i)):n.apply(this,i),e}}(d=>this.update(d),o.resizeDelay||0),this._dataChanges=[],$c[this.id]=this,a&&l?(gi.listen(this,"complete",kx),gi.listen(this,"progress",jH),this._initialize(),this.attached&&this.update()):console.error("Failed to create chart: can't acquire context from the given item")}get aspectRatio(){const{options:{aspectRatio:e,maintainAspectRatio:t},width:i,height:r,_aspectRatio:s}=this;return de(e)?t&&s?s:r?i/r:null:e}get data(){return this.config.data}set data(e){this.config.data=e}get options(){return this._options}set options(e){this.config.options=e}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():Bw(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return Ew(this.canvas,this.ctx),this}stop(){return gi.stop(this),this}resize(e,t){gi.running(this)?this._resizeBeforeDraw={width:e,height:t}:this._resize(e,t)}_resize(e,t){const i=this.options,o=this.platform.getMaximumSize(this.canvas,e,t,i.maintainAspectRatio&&this.aspectRatio),a=i.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=o.width,this.height=o.height,this._aspectRatio=this.aspectRatio,Bw(this,a,!0)&&(this.notifyPlugins("resize",{size:o}),xe(i.onResize,[this,o],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){pe(this.options.scales||{},(i,r)=>{i.id=r})}buildOrUpdateScales(){const e=this.options,t=e.scales,i=this.scales,r=Object.keys(i).reduce((o,a)=>(o[a]=!1,o),{});let s=[];t&&(s=s.concat(Object.keys(t).map(o=>{const a=t[o],l=Ip(o,a),c="r"===l,u="x"===l;return{options:a,dposition:c?"chartArea":u?"bottom":"left",dtype:c?"radialLinear":u?"category":"linear"}}))),pe(s,o=>{const a=o.options,l=a.id,c=Ip(l,a),u=K(a.type,o.dtype);(void 0===a.position||Ox(a.position,c)!==Ox(o.dposition))&&(a.position=o.dposition),r[l]=!0;let d=null;l in i&&i[l].type===u?d=i[l]:(d=new(yi.getScale(u))({id:l,type:u,ctx:this.ctx,chart:this}),i[d.id]=d),d.init(a,e)}),pe(r,(o,a)=>{o||delete i[a]}),pe(i,o=>{mt.configure(this,o,o.options),mt.addBox(this,o)})}_updateMetasets(){const e=this._metasets,t=this.data.datasets.length,i=e.length;if(e.sort((r,s)=>r.index-s.index),i>t){for(let r=t;r<i;++r)this._destroyDatasetMeta(r);e.splice(t,i-t)}this._sortedMetasets=e.slice(0).sort(Px("order","index"))}_removeUnreferencedMetasets(){const{_metasets:e,data:{datasets:t}}=this;e.length>t.length&&delete this._stacks,e.forEach((i,r)=>{0===t.filter(s=>s===i._dataset).length&&this._destroyDatasetMeta(r)})}buildOrUpdateControllers(){const e=[],t=this.data.datasets;let i,r;for(this._removeUnreferencedMetasets(),i=0,r=t.length;i<r;i++){const s=t[i];let o=this.getDatasetMeta(i);const a=s.type||this.config.type;if(o.type&&o.type!==a&&(this._destroyDatasetMeta(i),o=this.getDatasetMeta(i)),o.type=a,o.indexAxis=s.indexAxis||Ap(a,this.options),o.order=s.order||0,o.index=i,o.label=""+s.label,o.visible=this.isDatasetVisible(i),o.controller)o.controller.updateIndex(i),o.controller.linkScales();else{const l=yi.getController(a),{datasetElementType:c,dataElementType:u}=ae.datasets[a];Object.assign(l.prototype,{dataElementType:yi.getElement(u),datasetElementType:c&&yi.getElement(c)}),o.controller=new l(this,i),e.push(o.controller)}}return this._updateMetasets(),e}_resetElements(){pe(this.data.datasets,(e,t)=>{this.getDatasetMeta(t).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(e){const t=this.config;t.update();const i=this._options=t.createResolver(t.chartOptionScopes(),this.getContext()),r=this._animationsDisabled=!i.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),!1===this.notifyPlugins("beforeUpdate",{mode:e,cancelable:!0}))return;const s=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let o=0;for(let c=0,u=this.data.datasets.length;c<u;c++){const{controller:d}=this.getDatasetMeta(c),h=!r&&-1===s.indexOf(d);d.buildOrUpdateElements(h),o=Math.max(+d.getMaxOverflow(),o)}o=this._minPadding=i.layout.autoPadding?o:0,this._updateLayout(o),r||pe(s,c=>{c.reset()}),this._updateDatasets(e),this.notifyPlugins("afterUpdate",{mode:e}),this._layers.sort(Px("z","_idx"));const{_active:a,_lastEvent:l}=this;l?this._eventHandler(l,!0):a.length&&this._updateHoverStyles(a,a,!0),this.render()}_updateScales(){pe(this.scales,e=>{mt.removeBox(this,e)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const e=this.options,t=new Set(Object.keys(this._listeners)),i=new Set(e.events);(!aw(t,i)||!!this._responsiveListeners!==e.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:e}=this,t=this._getUniformDataChanges()||[];for(const{method:i,start:r,count:s}of t)HH(e,r,"_removeElements"===i?-s:s)}_getUniformDataChanges(){const e=this._dataChanges;if(!e||!e.length)return;this._dataChanges=[];const t=this.data.datasets.length,i=s=>new Set(e.filter(o=>o[0]===s).map((o,a)=>a+","+o.splice(1).join(","))),r=i(0);for(let s=1;s<t;s++)if(!aw(r,i(s)))return;return Array.from(r).map(s=>s.split(",")).map(s=>({method:s[1],start:+s[2],count:+s[3]}))}_updateLayout(e){if(!1===this.notifyPlugins("beforeLayout",{cancelable:!0}))return;mt.update(this,this.width,this.height,e);const t=this.chartArea,i=t.width<=0||t.height<=0;this._layers=[],pe(this.boxes,r=>{i&&"chartArea"===r.position||(r.configure&&r.configure(),this._layers.push(...r._layers()))},this),this._layers.forEach((r,s)=>{r._idx=s}),this.notifyPlugins("afterLayout")}_updateDatasets(e){if(!1!==this.notifyPlugins("beforeDatasetsUpdate",{mode:e,cancelable:!0})){for(let t=0,i=this.data.datasets.length;t<i;++t)this.getDatasetMeta(t).controller.configure();for(let t=0,i=this.data.datasets.length;t<i;++t)this._updateDataset(t,Ni(e)?e({datasetIndex:t}):e);this.notifyPlugins("afterDatasetsUpdate",{mode:e})}}_updateDataset(e,t){const i=this.getDatasetMeta(e),r={meta:i,index:e,mode:t,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetUpdate",r)&&(i.controller._update(t),r.cancelable=!1,this.notifyPlugins("afterDatasetUpdate",r))}render(){!1!==this.notifyPlugins("beforeRender",{cancelable:!0})&&(gi.has(this)?this.attached&&!gi.running(this)&&gi.start(this):(this.draw(),kx({chart:this})))}draw(){let e;if(this._resizeBeforeDraw){const{width:i,height:r}=this._resizeBeforeDraw;this._resize(i,r),this._resizeBeforeDraw=null}if(this.clear(),this.width<=0||this.height<=0||!1===this.notifyPlugins("beforeDraw",{cancelable:!0}))return;const t=this._layers;for(e=0;e<t.length&&t[e].z<=0;++e)t[e].draw(this.chartArea);for(this._drawDatasets();e<t.length;++e)t[e].draw(this.chartArea);this.notifyPlugins("afterDraw")}_getSortedDatasetMetas(e){const t=this._sortedMetasets,i=[];let r,s;for(r=0,s=t.length;r<s;++r){const o=t[r];(!e||o.visible)&&i.push(o)}return i}getSortedVisibleDatasetMetas(){return this._getSortedDatasetMetas(!0)}_drawDatasets(){if(!1===this.notifyPlugins("beforeDatasetsDraw",{cancelable:!0}))return;const e=this.getSortedVisibleDatasetMetas();for(let t=e.length-1;t>=0;--t)this._drawDataset(e[t]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(e){const t=this.ctx,i=e._clip,r=!i.disabled,s=this.chartArea,o={meta:e,index:e.index,cancelable:!0};!1!==this.notifyPlugins("beforeDatasetDraw",o)&&(r&&Tc(t,{left:!1===i.left?0:s.left-i.left,right:!1===i.right?this.width:s.right+i.right,top:!1===i.top?0:s.top-i.top,bottom:!1===i.bottom?this.height:s.bottom+i.bottom}),e.controller.draw(),r&&Oc(t),o.cancelable=!1,this.notifyPlugins("afterDatasetDraw",o))}getElementsAtEventForMode(e,t,i,r){const s=Bj.modes[t];return"function"==typeof s?s(this,e,i,r):[]}getDatasetMeta(e){const t=this.data.datasets[e],i=this._metasets;let r=i.filter(s=>s&&s._dataset===t).pop();return r||(r={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:t&&t.order||0,index:e,_dataset:t,_parsed:[],_sorted:!1},i.push(r)),r}getContext(){return this.$context||(this.$context=Li(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(e){const t=this.data.datasets[e];if(!t)return!1;const i=this.getDatasetMeta(e);return"boolean"==typeof i.hidden?!i.hidden:!t.hidden}setDatasetVisibility(e,t){this.getDatasetMeta(e).hidden=!t}toggleDataVisibility(e){this._hiddenIndices[e]=!this._hiddenIndices[e]}getDataVisibility(e){return!this._hiddenIndices[e]}_updateVisibility(e,t,i){const r=i?"show":"hide",s=this.getDatasetMeta(e),o=s.controller._resolveAnimations(void 0,r);un(t)?(s.data[t].hidden=!i,this.update()):(this.setDatasetVisibility(e,i),o.update(s,{visible:i}),this.update(a=>a.datasetIndex===e?r:void 0))}hide(e,t){this._updateVisibility(e,t,!1)}show(e,t){this._updateVisibility(e,t,!0)}_destroyDatasetMeta(e){const t=this._metasets[e];t&&t.controller&&t.controller._destroy(),delete this._metasets[e]}_stop(){let e,t;for(this.stop(),gi.remove(this),e=0,t=this.data.datasets.length;e<t;++e)this._destroyDatasetMeta(e)}destroy(){this.notifyPlugins("beforeDestroy");const{canvas:e,ctx:t}=this;this._stop(),this.config.clearCache(),e&&(this.unbindEvents(),Ew(e,t),this.platform.releaseContext(t),this.canvas=null,this.ctx=null),this.notifyPlugins("destroy"),delete $c[this.id],this.notifyPlugins("afterDestroy")}toBase64Image(...e){return this.canvas.toDataURL(...e)}bindEvents(){this.bindUserEvents(),this.options.responsive?this.bindResponsiveEvents():this.attached=!0}bindUserEvents(){const e=this._listeners,t=this.platform,i=(s,o)=>{t.addEventListener(this,s,o),e[s]=o},r=(s,o,a)=>{s.offsetX=o,s.offsetY=a,this._eventHandler(s)};pe(this.options.events,s=>i(s,r))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const e=this._responsiveListeners,t=this.platform,i=(l,c)=>{t.addEventListener(this,l,c),e[l]=c},r=(l,c)=>{e[l]&&(t.removeEventListener(this,l,c),delete e[l])},s=(l,c)=>{this.canvas&&this.resize(l,c)};let o;const a=()=>{r("attach",a),this.attached=!0,this.resize(),i("resize",s),i("detach",o)};o=()=>{this.attached=!1,r("resize",s),this._stop(),this._resize(0,0),i("attach",a)},t.isAttached(this.canvas)?a():o()}unbindEvents(){pe(this._listeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._listeners={},pe(this._responsiveListeners,(e,t)=>{this.platform.removeEventListener(this,t,e)}),this._responsiveListeners=void 0}updateHoverStyle(e,t,i){const r=i?"set":"remove";let s,o,a,l;for("dataset"===t&&(s=this.getDatasetMeta(e[0].datasetIndex),s.controller["_"+r+"DatasetHoverStyle"]()),a=0,l=e.length;a<l;++a){o=e[a];const c=o&&this.getDatasetMeta(o.datasetIndex).controller;c&&c[r+"HoverStyle"](o.element,o.datasetIndex,o.index)}}getActiveElements(){return this._active||[]}setActiveElements(e){const t=this._active||[],i=e.map(({datasetIndex:s,index:o})=>{const a=this.getDatasetMeta(s);if(!a)throw new Error("No dataset found at index "+s);return{datasetIndex:s,element:a.data[o],index:o}});!vc(i,t)&&(this._active=i,this._lastEvent=null,this._updateHoverStyles(i,t))}notifyPlugins(e,t,i){return this._plugins.notify(this,e,t,i)}_updateHoverStyles(e,t,i){const r=this.options.hover,s=(l,c)=>l.filter(u=>!c.some(d=>u.datasetIndex===d.datasetIndex&&u.index===d.index)),o=s(t,e),a=i?e:s(e,t);o.length&&this.updateHoverStyle(o,r.mode,!1),a.length&&r.mode&&this.updateHoverStyle(a,r.mode,!0)}_eventHandler(e,t){const i={event:e,replay:t,cancelable:!0,inChartArea:cr(e,this.chartArea,this._minPadding)},r=o=>(o.options.events||this.options.events).includes(e.native.type);if(!1===this.notifyPlugins("beforeEvent",i,r))return;const s=this._handleEvent(e,t,i.inChartArea);return i.cancelable=!1,this.notifyPlugins("afterEvent",i,r),(s||i.changed)&&this.render(),this}_handleEvent(e,t,i){const{_active:r=[],options:s}=this,a=this._getActiveElements(e,r,i,t),l="mouseup"===(n=e).type||"click"===n.type||"contextmenu"===n.type,c=function(n,e,t,i){return t&&"mouseout"!==n.type?i?e:n:null}(e,this._lastEvent,i,l);var n;i&&(this._lastEvent=null,xe(s.onHover,[e,a,this],this),l&&xe(s.onClick,[e,a,this],this));const u=!vc(a,r);return(u||t)&&(this._active=a,this._updateHoverStyles(a,r,t)),this._lastEvent=c,u}_getActiveElements(e,t,i,r){if("mouseout"===e.type)return[];if(!i)return t;const s=this.options.hover;return this.getElementsAtEventForMode(e,s.mode,s,r)}}const Nx=()=>pe(gr.instances,n=>n._plugins.invalidate()),Vi=!0;function Lx(n,e,t){const{startAngle:i,pixelMargin:r,x:s,y:o,outerRadius:a,innerRadius:l}=e;let c=r/a;n.beginPath(),n.arc(s,o,a,i-c,t+c),l>r?(c=r/l,n.arc(s,o,l,t+c,i-c,!0)):n.arc(s,o,r,t+Fe,i-Fe),n.closePath(),n.clip()}function As(n,e,t,i){return{x:t+n*Math.cos(e),y:i+n*Math.sin(e)}}function Tp(n,e,t,i,r){const{x:s,y:o,startAngle:a,pixelMargin:l,innerRadius:c}=e,u=Math.max(e.outerRadius+i+t-l,0),d=c>0?c+i+t+l:0;let h=0;const f=r-a;if(i){const yr=((c>0?c-i:0)+(u>0?u-i:0))/2;h=(f-(0!==yr?f*yr/(yr+i):f))/2}const g=(f-Math.max(.001,f*u-t/Ae)/u)/2,_=a+g+h,v=r-g-h,{outerStart:b,outerEnd:D,innerStart:C,innerEnd:w}=function(n,e,t,i){const r=function(n){return pp(n,["outerStart","outerEnd","innerStart","innerEnd"])}(n.options.borderRadius),s=(t-e)/2,o=Math.min(s,i*e/2),a=l=>{const c=(t-Math.min(s,l))*i/2;return ot(l,0,Math.min(s,c))};return{outerStart:a(r.outerStart),outerEnd:a(r.outerEnd),innerStart:ot(r.innerStart,0,o),innerEnd:ot(r.innerEnd,0,o)}}(e,d,u,v-_),M=u-b,A=u-D,O=_+b/M,k=v-D/A,ue=d+C,te=d+w,ne=_+C/ue,Ie=v-w/te;if(n.beginPath(),n.arc(s,o,u,O,k),D>0){const he=As(A,k,s,o);n.arc(he.x,he.y,D,k,v+Fe)}const tt=As(te,v,s,o);if(n.lineTo(tt.x,tt.y),w>0){const he=As(te,Ie,s,o);n.arc(he.x,he.y,w,v+Fe,Ie+Math.PI)}if(n.arc(s,o,d,v-w/d,_+C/d,!0),C>0){const he=As(ue,ne,s,o);n.arc(he.x,he.y,C,ne+Math.PI,_-Fe)}const J=As(M,_,s,o);if(n.lineTo(J.x,J.y),b>0){const he=As(M,O,s,o);n.arc(he.x,he.y,b,_-Fe,O)}n.closePath()}Object.defineProperties(gr,{defaults:{enumerable:Vi,value:ae},instances:{enumerable:Vi,value:$c},overrides:{enumerable:Vi,value:ar},registry:{enumerable:Vi,value:yi},version:{enumerable:Vi,value:"3.7.0"},getChart:{enumerable:Vi,value:Fx},register:{enumerable:Vi,value:(...n)=>{yi.add(...n),Nx()}},unregister:{enumerable:Vi,value:(...n)=>{yi.remove(...n),Nx()}}});class zc extends In{constructor(e){super(),this.options=void 0,this.circumference=void 0,this.startAngle=void 0,this.endAngle=void 0,this.innerRadius=void 0,this.outerRadius=void 0,this.pixelMargin=0,this.fullCircles=0,e&&Object.assign(this,e)}inRange(e,t,i){const r=this.getProps(["x","y"],i),{angle:s,distance:o}=hw(r,{x:e,y:t}),{startAngle:a,endAngle:l,innerRadius:c,outerRadius:u,circumference:d}=this.getProps(["startAngle","endAngle","innerRadius","outerRadius","circumference"],i),h=this.options.spacing/2,p=K(d,l-a)>=_e||Qo(s,a,l),g=fi(o,c+h,u+h);return p&&g}getCenterPoint(e){const{x:t,y:i,startAngle:r,endAngle:s,innerRadius:o,outerRadius:a}=this.getProps(["x","y","startAngle","endAngle","innerRadius","outerRadius","circumference"],e),{offset:l,spacing:c}=this.options,u=(r+s)/2,d=(o+a+c+l)/2;return{x:t+Math.cos(u)*d,y:i+Math.sin(u)*d}}tooltipPosition(e){return this.getCenterPoint(e)}draw(e){const{options:t,circumference:i}=this,r=(t.offset||0)/2,s=(t.spacing||0)/2;if(this.pixelMargin="inner"===t.borderAlign?.33:0,this.fullCircles=i>_e?Math.floor(i/_e):0,0===i||this.innerRadius<0||this.outerRadius<0)return;e.save();let o=0;if(r){o=r/2;const l=(this.startAngle+this.endAngle)/2;e.translate(Math.cos(l)*o,Math.sin(l)*o),this.circumference>=Ae&&(o=r)}e.fillStyle=t.backgroundColor,e.strokeStyle=t.borderColor;const a=function(n,e,t,i){const{fullCircles:r,startAngle:s,circumference:o}=e;let a=e.endAngle;if(r){Tp(n,e,t,i,s+_e);for(let l=0;l<r;++l)n.fill();isNaN(o)||(a=s+o%_e,o%_e==0&&(a+=_e))}return Tp(n,e,t,i,a),n.fill(),a}(e,this,o,s);(function(n,e,t,i,r){const{options:s}=e,{borderWidth:o,borderJoinStyle:a}=s,l="inner"===s.borderAlign;!o||(l?(n.lineWidth=2*o,n.lineJoin=a||"round"):(n.lineWidth=o,n.lineJoin=a||"bevel"),e.fullCircles&&function(n,e,t){const{x:i,y:r,startAngle:s,pixelMargin:o,fullCircles:a}=e,l=Math.max(e.outerRadius-o,0),c=e.innerRadius+o;let u;for(t&&Lx(n,e,s+_e),n.beginPath(),n.arc(i,r,c,s+_e,s,!0),u=0;u<a;++u)n.stroke();for(n.beginPath(),n.arc(i,r,l,s,s+_e),u=0;u<a;++u)n.stroke()}(n,e,l),l&&Lx(n,e,r),Tp(n,e,t,i,r),n.stroke())})(e,this,o,s,a),e.restore()}}function Vx(n,e,t=e){n.lineCap=K(t.borderCapStyle,e.borderCapStyle),n.setLineDash(K(t.borderDash,e.borderDash)),n.lineDashOffset=K(t.borderDashOffset,e.borderDashOffset),n.lineJoin=K(t.borderJoinStyle,e.borderJoinStyle),n.lineWidth=K(t.borderWidth,e.borderWidth),n.strokeStyle=K(t.borderColor,e.borderColor)}function YH(n,e,t){n.lineTo(t.x,t.y)}function Bx(n,e,t={}){const i=n.length,{start:r=0,end:s=i-1}=t,{start:o,end:a}=e,l=Math.max(r,o),c=Math.min(s,a);return{count:i,start:l,loop:e.loop,ilen:c<l&&!(r<o&&s<o||r>a&&s>a)?i+c-l:c-l}}function JH(n,e,t,i){const{points:r,options:s}=e,{count:o,start:a,loop:l,ilen:c}=Bx(r,t,i),u=function(n){return n.stepped?lB:n.tension||"monotone"===n.cubicInterpolationMode?cB:YH}(s);let f,p,g,{move:d=!0,reverse:h}=i||{};for(f=0;f<=c;++f)p=r[(a+(h?c-f:f))%o],!p.skip&&(d?(n.moveTo(p.x,p.y),d=!1):u(n,g,p,h,s.stepped),g=p);return l&&(p=r[(a+(h?c:0))%o],u(n,g,p,h,s.stepped)),!!l}function ZH(n,e,t,i){const r=e.points,{count:s,start:o,ilen:a}=Bx(r,t,i),{move:l=!0,reverse:c}=i||{};let h,f,p,g,_,v,u=0,d=0;const b=C=>(o+(c?a-C:C))%s,D=()=>{g!==_&&(n.lineTo(u,_),n.lineTo(u,g),n.lineTo(u,v))};for(l&&(f=r[b(0)],n.moveTo(f.x,f.y)),h=0;h<=a;++h){if(f=r[b(h)],f.skip)continue;const C=f.x,w=f.y,M=0|C;M===p?(w<g?g=w:w>_&&(_=w),u=(d*u+C)/++d):(D(),n.lineTo(C,w),p=M,d=0,g=_=w),v=w}D()}function Op(n){const e=n.options;return n._decimated||n._loop||e.tension||"monotone"===e.cubicInterpolationMode||e.stepped||e.borderDash&&e.borderDash.length?JH:ZH}zc.id="arc",zc.defaults={borderAlign:"center",borderColor:"#fff",borderJoinStyle:void 0,borderRadius:0,borderWidth:2,offset:0,spacing:0,angle:void 0},zc.defaultRoutes={backgroundColor:"backgroundColor"};const tU="function"==typeof Path2D;let Wc=(()=>{class n extends In{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,i){const r=this.options;!r.tension&&"monotone"!==r.cubicInterpolationMode||r.stepped||this._pointsUpdated||(FB(this._points,r,t,r.spanGaps?this._loop:this._fullLoop,i),this._pointsUpdated=!0)}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=function(n,e){const t=n.points,i=n.options.spanGaps,r=t.length;if(!r)return[];const s=!!n._loop,{start:o,end:a}=function(n,e,t,i){let r=0,s=e-1;if(t&&!i)for(;r<e&&!n[r].skip;)r++;for(;r<e&&n[r].skip;)r++;for(r%=e,t&&(s+=r);s>r&&n[s%e].skip;)s--;return s%=e,{start:r,end:s}}(t,r,s,i);return function(n,e,t,i){return i&&i.setContext&&t?function(n,e,t,i){const r=n._chart.getContext(),s=Kw(n.options),{_datasetIndex:o,options:{spanGaps:a}}=n,l=t.length,c=[];let u=s,d=e[0].start,h=d;function f(p,g,_,v){const b=a?-1:1;if(p!==g){for(p+=l;t[p%l].skip;)p-=b;for(;t[g%l].skip;)g+=b;p%l!=g%l&&(c.push({start:p%l,end:g%l,loop:_,style:v}),u=v,d=g%l)}}for(const p of e){d=a?d:p.start;let _,g=t[d%l];for(h=d+1;h<=p.end;h++){const v=t[h%l];_=Kw(i.setContext(Li(r,{type:"segment",p0:g,p1:v,p0DataIndex:(h-1)%l,p1DataIndex:h%l,datasetIndex:o}))),QB(_,u)&&f(d,h-1,p.loop,u),g=v,u=_}d<h-1&&f(d,h-1,p.loop,u)}return c}(n,e,t,i):e}(n,!0===i?[{start:o,end:a,loop:s}]:function(n,e,t,i){const r=n.length,s=[];let l,o=e,a=n[e];for(l=e+1;l<=t;++l){const c=n[l%r];c.skip||c.stop?a.skip||(s.push({start:e%r,end:(l-1)%r,loop:i=!1}),e=o=c.stop?l:null):(o=l,a.skip&&(e=l)),a=c}return null!==o&&s.push({start:e%r,end:o%r,loop:i}),s}(t,o,a<o?a+r:a,!!n._fullLoop&&0===o&&a===r-1),t,e)}(this,this.options.segment))}first(){const t=this.segments;return t.length&&this.points[t[0].start]}last(){const t=this.segments,r=t.length;return r&&this.points[t[r-1].end]}interpolate(t,i){const r=this.options,s=t[i],o=this.points,a=qw(this,{property:i,start:s,end:s});if(!a.length)return;const l=[],c=function(n){return n.stepped?$B:n.tension||"monotone"===n.cubicInterpolationMode?zB:hr}(r);let u,d;for(u=0,d=a.length;u<d;++u){const{start:h,end:f}=a[u],p=o[h],g=o[f];if(p===g){l.push(p);continue}const v=c(p,g,Math.abs((s-p[i])/(g[i]-p[i])),r.stepped);v[i]=t[i],l.push(v)}return 1===l.length?l[0]:l}pathSegment(t,i,r){return Op(this)(t,this,i,r)}path(t,i,r){const s=this.segments,o=Op(this);let a=this._loop;i=i||0,r=r||this.points.length-i;for(const l of s)a&=o(t,this,l,{start:i,end:i+r-1});return!!a}draw(t,i,r,s){(this.points||[]).length&&(this.options||{}).borderWidth&&(t.save(),function(n,e,t,i){tU&&!e.options.segment?function(n,e,t,i){let r=e._path;r||(r=e._path=new Path2D,e.path(r,t,i)&&r.closePath()),Vx(n,e.options),n.stroke(r)}(n,e,t,i):function(n,e,t,i){const{segments:r,options:s}=e,o=Op(e);for(const a of r)Vx(n,s,a.style),n.beginPath(),o(n,e,a,{start:t,end:t+i-1})&&n.closePath(),n.stroke()}(n,e,t,i)}(t,this,r,s),t.restore()),this.animated&&(this._pointsUpdated=!1,this._path=void 0)}}return n.id="line",n.defaults={borderCapStyle:"butt",borderDash:[],borderDashOffset:0,borderJoinStyle:"miter",borderWidth:3,capBezierPoints:!0,cubicInterpolationMode:"default",fill:!1,spanGaps:!1,stepped:!1,tension:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n.descriptors={_scriptable:!0,_indexable:e=>"borderDash"!==e&&"fill"!==e},n})();function jx(n,e,t,i){const r=n.options,{[t]:s}=n.getProps([t],i);return Math.abs(e-s)<r.radius+r.hitRadius}let iU=(()=>{class n extends In{constructor(t){super(),this.options=void 0,this.parsed=void 0,this.skip=void 0,this.stop=void 0,t&&Object.assign(this,t)}inRange(t,i,r){const s=this.options,{x:o,y:a}=this.getProps(["x","y"],r);return Math.pow(t-o,2)+Math.pow(i-a,2)<Math.pow(s.hitRadius+s.radius,2)}inXRange(t,i){return jx(this,t,"x",i)}inYRange(t,i){return jx(this,t,"y",i)}getCenterPoint(t){const{x:i,y:r}=this.getProps(["x","y"],t);return{x:i,y:r}}size(t){let i=(t=t||this.options||{}).radius||0;return i=Math.max(i,i&&t.hoverRadius||0),2*(i+(i&&t.borderWidth||0))}draw(t,i){const r=this.options;this.skip||r.radius<.1||!cr(this,i,this.size(r)/2)||(t.strokeStyle=r.borderColor,t.lineWidth=r.borderWidth,t.fillStyle=r.backgroundColor,Ic(t,r,this.x,this.y))}getRange(){const t=this.options||{};return t.radius+t.hitRadius}}return n.id="point",n.defaults={borderWidth:1,hitRadius:1,hoverBorderWidth:1,hoverRadius:4,pointStyle:"circle",radius:3,rotation:0},n.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"},n})();function Hx(n,e){const{x:t,y:i,base:r,width:s,height:o}=n.getProps(["x","y","base","width","height"],e);let a,l,c,u,d;return n.horizontal?(d=o/2,a=Math.min(t,r),l=Math.max(t,r),c=i-d,u=i+d):(d=s/2,a=t-d,l=t+d,c=Math.min(i,r),u=Math.max(i,r)),{left:a,top:c,right:l,bottom:u}}function Bi(n,e,t,i){return n?0:ot(e,t,i)}function Pp(n,e,t,i){const r=null===e,s=null===t,a=n&&!(r&&s)&&Hx(n,i);return a&&(r||fi(e,a.left,a.right))&&(s||fi(t,a.top,a.bottom))}function lU(n,e){n.rect(e.x,e.y,e.w,e.h)}function kp(n,e,t={}){const i=n.x!==t.x?-e:0,r=n.y!==t.y?-e:0;return{x:n.x+i,y:n.y+r,w:n.w+((n.x+n.w!==t.x+t.w?e:0)-i),h:n.h+((n.y+n.h!==t.y+t.h?e:0)-r),radius:n.radius}}class Gc extends In{constructor(e){super(),this.options=void 0,this.horizontal=void 0,this.base=void 0,this.width=void 0,this.height=void 0,this.inflateAmount=void 0,e&&Object.assign(this,e)}draw(e){const{inflateAmount:t,options:{borderColor:i,backgroundColor:r}}=this,{inner:s,outer:o}=function(n){const e=Hx(n),t=e.right-e.left,i=e.bottom-e.top,r=function(n,e,t){const r=n.borderSkipped,s=Mw(n.options.borderWidth);return{t:Bi(r.top,s.top,0,t),r:Bi(r.right,s.right,0,e),b:Bi(r.bottom,s.bottom,0,t),l:Bi(r.left,s.left,0,e)}}(n,t/2,i/2),s=function(n,e,t){const{enableBorderRadius:i}=n.getProps(["enableBorderRadius"]),r=n.options.borderRadius,s=xs(r),o=Math.min(e,t),a=n.borderSkipped,l=i||oe(r);return{topLeft:Bi(!l||a.top||a.left,s.topLeft,0,o),topRight:Bi(!l||a.top||a.right,s.topRight,0,o),bottomLeft:Bi(!l||a.bottom||a.left,s.bottomLeft,0,o),bottomRight:Bi(!l||a.bottom||a.right,s.bottomRight,0,o)}}(n,t/2,i/2);return{outer:{x:e.left,y:e.top,w:t,h:i,radius:s},inner:{x:e.left+r.l,y:e.top+r.t,w:t-r.l-r.r,h:i-r.t-r.b,radius:{topLeft:Math.max(0,s.topLeft-Math.max(r.t,r.l)),topRight:Math.max(0,s.topRight-Math.max(r.t,r.r)),bottomLeft:Math.max(0,s.bottomLeft-Math.max(r.b,r.l)),bottomRight:Math.max(0,s.bottomRight-Math.max(r.b,r.r))}}}}(this),a=(n=o.radius).topLeft||n.topRight||n.bottomLeft||n.bottomRight?Pc:lU;var n;e.save(),(o.w!==s.w||o.h!==s.h)&&(e.beginPath(),a(e,kp(o,t,s)),e.clip(),a(e,kp(s,-t,o)),e.fillStyle=i,e.fill("evenodd")),e.beginPath(),a(e,kp(s,t)),e.fillStyle=r,e.fill(),e.restore()}inRange(e,t,i){return Pp(this,e,t,i)}inXRange(e,t){return Pp(this,e,null,t)}inYRange(e,t){return Pp(this,null,e,t)}getCenterPoint(e){const{x:t,y:i,base:r,horizontal:s}=this.getProps(["x","y","base","horizontal"],e);return{x:s?(t+r)/2:t,y:s?i:(i+r)/2}}getRange(e){return"x"===e?this.width/2:this.height/2}}Gc.id="bar",Gc.defaults={borderSkipped:"start",borderWidth:0,borderRadius:0,inflateAmount:"auto",pointStyle:void 0},Gc.defaultRoutes={backgroundColor:"backgroundColor",borderColor:"borderColor"};var cU=Object.freeze({__proto__:null,ArcElement:zc,LineElement:Wc,PointElement:iU,BarElement:Gc});function Ux(n){if(n._decimated){const e=n._data;delete n._decimated,delete n._data,Object.defineProperty(n,"data",{value:e})}}function $x(n){n.data.datasets.forEach(e=>{Ux(e)})}var fU={id:"decimation",defaults:{algorithm:"min-max",enabled:!1},beforeElementsUpdate:(n,e,t)=>{if(!t.enabled)return void $x(n);const i=n.width;n.data.datasets.forEach((r,s)=>{const{_data:o,indexAxis:a}=r,l=n.getDatasetMeta(s),c=o||r.data;if("y"===sa([a,n.options.indexAxis])||"line"!==l.type)return;const u=n.scales[l.xAxisID];if("linear"!==u.type&&"time"!==u.type||n.options.parsing)return;let p,{start:d,count:h}=function(n,e){const t=e.length;let r,i=0;const{iScale:s}=n,{min:o,max:a,minDefined:l,maxDefined:c}=s.getUserBounds();return l&&(i=ot(pi(e,s.axis,o).lo,0,t-1)),r=c?ot(pi(e,s.axis,a).hi+1,i,t)-i:t-i,{start:i,count:r}}(l,c);if(h<=(t.threshold||4*i))Ux(r);else{switch(de(o)&&(r._data=c,delete r.data,Object.defineProperty(r,"data",{configurable:!0,enumerable:!0,get:function(){return this._decimated},set:function(g){this._data=g}})),t.algorithm){case"lttb":p=function(n,e,t,i,r){const s=r.samples||i;if(s>=t)return n.slice(e,e+t);const o=[],a=(t-2)/(s-2);let l=0;const c=e+t-1;let d,h,f,p,g,u=e;for(o[l++]=n[u],d=0;d<s-2;d++){let b,_=0,v=0;const D=Math.floor((d+1)*a)+1+e,C=Math.min(Math.floor((d+2)*a)+1,t)+e,w=C-D;for(b=D;b<C;b++)_+=n[b].x,v+=n[b].y;_/=w,v/=w;const M=Math.floor(d*a)+1+e,A=Math.min(Math.floor((d+1)*a)+1,t)+e,{x:O,y:k}=n[u];for(f=p=-1,b=M;b<A;b++)p=.5*Math.abs((O-_)*(n[b].y-k)-(O-n[b].x)*(v-k)),p>f&&(f=p,h=n[b],g=b);o[l++]=h,u=g}return o[l++]=n[c],o}(c,d,h,i,t);break;case"min-max":p=function(n,e,t,i){let o,a,l,c,u,d,h,f,p,g,r=0,s=0;const _=[],b=n[e].x,C=n[e+t-1].x-b;for(o=e;o<e+t;++o){a=n[o],l=(a.x-b)/C*i,c=a.y;const w=0|l;if(w===u)c<p?(p=c,d=o):c>g&&(g=c,h=o),r=(s*r+a.x)/++s;else{const M=o-1;if(!de(d)&&!de(h)){const A=Math.min(d,h),O=Math.max(d,h);A!==f&&A!==M&&_.push(qp(Gp({},n[A]),{x:r})),O!==f&&O!==M&&_.push(qp(Gp({},n[O]),{x:r}))}o>0&&M!==f&&_.push(n[M]),_.push(a),u=w,s=0,p=g=c,d=h=f=o}}return _}(c,d,h,i);break;default:throw new Error(`Unsupported decimation algorithm '${t.algorithm}'`)}r._decimated=p}})},destroy(n){$x(n)}};function mU(n,e,t){const i=function(n){const e=n.options,t=e.fill;let i=K(t&&t.target,t);return void 0===i&&(i=!!e.backgroundColor),!1!==i&&null!==i&&(!0===i?"origin":i)}(n);if(oe(i))return!isNaN(i.value)&&i;let r=parseFloat(i);return Be(r)&&Math.floor(r)===r?(("-"===i[0]||"+"===i[0])&&(r=e+r),!(r===e||r<0||r>=t)&&r):["origin","start","end","stack","shape"].indexOf(i)>=0&&i}class zx{constructor(e){this.x=e.x,this.y=e.y,this.radius=e.radius}pathSegment(e,t,i){const{x:r,y:s,radius:o}=this;return e.arc(r,s,o,(t=t||{start:0,end:_e}).end,t.start,!0),!i.bounds}interpolate(e){const{x:t,y:i,radius:r}=this,s=e.angle;return{x:t+Math.cos(s)*r,y:i+Math.sin(s)*r,angle:s}}}function Wx(n,e,t){for(;e>n;e--){const i=t[e];if(!isNaN(i.x)&&!isNaN(i.y))break}return e}function wU(n,e,t){const i=[];for(let r=0;r<t.length;r++){const s=t[r],{first:o,last:a,point:l}=xU(s,e,"x");if(!(!l||o&&a))if(o)i.unshift(l);else if(n.push(l),!a)break}n.push(...i)}function xU(n,e,t){const i=n.interpolate(e,t);if(!i)return{};const r=i[t],s=n.segments,o=n.points;let a=!1,l=!1;for(let c=0;c<s.length;c++){const u=s[c],d=o[u.start][t],h=o[u.end][t];if(fi(r,d,h)){a=r===d,l=r===h;break}}return{first:a,last:l,point:i}}function EU(n){const{chart:e,fill:t,line:i}=n;if(Be(t))return function(n,e){const t=n.getDatasetMeta(e);return t&&n.isDatasetVisible(e)?t.dataset:null}(e,t);if("stack"===t)return function(n){const{scale:e,index:t,line:i}=n,r=[],s=i.segments,o=i.points,a=function(n,e){const t=[],i=n.getMatchingVisibleMetas("line");for(let r=0;r<i.length;r++){const s=i[r];if(s.index===e)break;s.hidden||t.unshift(s.dataset)}return t}(e,t);a.push(Gx({x:null,y:e.bottom},i));for(let l=0;l<s.length;l++){const c=s[l];for(let u=c.start;u<=c.end;u++)wU(r,o[u],a)}return new Wc({points:r,options:{}})}(n);if("shape"===t)return!0;const r=function(n){return(n.scale||{}).getPointPositionForValue?function(n){const{scale:e,fill:t}=n,i=e.options,r=e.getLabels().length,s=[],o=i.reverse?e.max:e.min;let l,c,u;if(u="start"===t?o:"end"===t?i.reverse?e.min:e.max:oe(t)?t.value:e.getBaseValue(),i.grid.circular)return c=e.getPointPositionForValue(0,o),new zx({x:c.x,y:c.y,radius:e.getDistanceFromCenterForValue(u)});for(l=0;l<r;++l)s.push(e.getPointPositionForValue(l,u));return s}(n):function(n){const{scale:e={},fill:t}=n;let r,i=null;return"start"===t?i=e.bottom:"end"===t?i=e.top:oe(t)?i=e.getPixelForValue(t.value):e.getBasePixel&&(i=e.getBasePixel()),Be(i)?(r=e.isHorizontal(),{x:r?i:null,y:r?null:i}):null}(n)}(n);return r instanceof zx?r:Gx(r,i)}function Gx(n,e){let t=[],i=!1;return we(n)?(i=!0,t=n):t=function(n,e){const{x:t=null,y:i=null}=n||{},r=e.points,s=[];return e.segments.forEach(({start:o,end:a})=>{a=Wx(o,a,r);const l=r[o],c=r[a];null!==i?(s.push({x:l.x,y:i}),s.push({x:c.x,y:i})):null!==t&&(s.push({x:t,y:l.y}),s.push({x:t,y:c.y}))}),s}(n,e),t.length?new Wc({points:t,options:{tension:0},_loop:i,_fullLoop:i}):null}function MU(n,e,t){let r=n[e].fill;const s=[e];let o;if(!t)return r;for(;!1!==r&&-1===s.indexOf(r);){if(!Be(r))return r;if(o=n[r],!o)return!1;if(o.visible)return r;s.push(r),r=o.fill}return!1}function qx(n,e,t){n.beginPath(),e.path(n),n.lineTo(e.last().x,t),n.lineTo(e.first().x,t),n.closePath(),n.clip()}function Rp(n,e,t,i){if(i)return;let r=e[n],s=t[n];return"angle"===n&&(r=Kt(r),s=Kt(s)),{property:n,start:r,end:s}}function Yx(n,e,t,i){return n&&e?i(n[t],e[t]):n?n[t]:e?e[t]:0}function AU(n,e,t){const{top:i,bottom:r}=e.chart.chartArea,{property:s,start:o,end:a}=t||{};"x"===s&&(n.beginPath(),n.rect(o,i,a-o,r-i),n.clip())}function Kx(n,e,t,i){const r=e.interpolate(t,i);r&&n.lineTo(r.x,r.y)}function Jx(n,e){const{line:t,target:i,property:r,color:s,scale:o}=e,a=function(n,e,t){const i=n.segments,r=n.points,s=e.points,o=[];for(const a of i){let{start:l,end:c}=a;c=Wx(l,c,r);const u=Rp(t,r[l],r[c],a.loop);if(!e.segments){o.push({source:a,target:u,start:r[l],end:r[c]});continue}const d=qw(e,u);for(const h of d){const f=Rp(t,s[h.start],s[h.end],h.loop),p=Gw(a,r,f);for(const g of p)o.push({source:g,target:h,start:{[t]:Yx(u,f,"start",Math.max)},end:{[t]:Yx(u,f,"end",Math.min)}})}}return o}(t,i,r);for(const{source:l,target:c,start:u,end:d}of a){const{style:{backgroundColor:h=s}={}}=l,f=!0!==i;n.save(),n.fillStyle=h,AU(n,o,f&&Rp(r,u,d)),n.beginPath();const p=!!t.pathSegment(n,l);let g;if(f){p?n.closePath():Kx(n,i,d,r);const _=!!i.pathSegment(n,c,{move:p,reverse:!0});g=p&&_,g||Kx(n,i,u,r)}n.closePath(),n.fill(g?"evenodd":"nonzero"),n.restore()}}function Fp(n,e,t){const i=EU(e),{line:r,scale:s,axis:o}=e,a=r.options,l=a.fill,c=a.backgroundColor,{above:u=c,below:d=c}=l||{};i&&r.points.length&&(Tc(n,t),function(n,e){const{line:t,target:i,above:r,below:s,area:o,scale:a}=e,l=t._loop?"angle":e.axis;n.save(),"x"===l&&s!==r&&(qx(n,i,o.top),Jx(n,{line:t,target:i,color:r,scale:a,property:l}),n.restore(),n.save(),qx(n,i,o.bottom)),Jx(n,{line:t,target:i,color:s,scale:a,property:l}),n.restore()}(n,{line:r,target:i,above:u,below:d,area:t,scale:s,axis:o}),Oc(n))}var TU={id:"filler",afterDatasetsUpdate(n,e,t){const i=(n.data.datasets||[]).length,r=[];let s,o,a,l;for(o=0;o<i;++o)s=n.getDatasetMeta(o),a=s.dataset,l=null,a&&a.options&&a instanceof Wc&&(l={visible:n.isDatasetVisible(o),index:o,fill:mU(a,o,i),chart:n,axis:s.controller.options.indexAxis,scale:s.vScale,line:a}),s.$filler=l,r.push(l);for(o=0;o<i;++o)l=r[o],l&&!1!==l.fill&&(l.fill=MU(r,o,t.propagate))},beforeDraw(n,e,t){const i="beforeDraw"===t.drawTime,r=n.getSortedVisibleDatasetMetas(),s=n.chartArea;for(let o=r.length-1;o>=0;--o){const a=r[o].$filler;!a||(a.line.updateControlPoints(s,a.axis),i&&Fp(n.ctx,a,s))}},beforeDatasetsDraw(n,e,t){if("beforeDatasetsDraw"!==t.drawTime)return;const i=n.getSortedVisibleDatasetMetas();for(let r=i.length-1;r>=0;--r){const s=i[r].$filler;s&&Fp(n.ctx,s,n.chartArea)}},beforeDatasetDraw(n,e,t){const i=e.meta.$filler;!i||!1===i.fill||"beforeDatasetDraw"!==t.drawTime||Fp(n.ctx,i,n.chartArea)},defaults:{propagate:!0,drawTime:"beforeDatasetDraw"}};const Zx=(n,e)=>{let{boxHeight:t=e,boxWidth:i=e}=n;return n.usePointStyle&&(t=Math.min(t,e),i=Math.min(i,e)),{boxWidth:i,boxHeight:t,itemHeight:Math.max(e,t)}};class Xx extends In{constructor(e){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t,i){this.maxWidth=e,this.maxHeight=t,this._margins=i,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const e=this.options.labels||{};let t=xe(e.generateLabels,[this.chart],this)||[];e.filter&&(t=t.filter(i=>e.filter(i,this.chart.data))),e.sort&&(t=t.sort((i,r)=>e.sort(i,r,this.chart.data))),this.options.reverse&&t.reverse(),this.legendItems=t}fit(){const{options:e,ctx:t}=this;if(!e.display)return void(this.width=this.height=0);const i=e.labels,r=et(i.font),s=r.size,o=this._computeTitleHeight(),{boxWidth:a,itemHeight:l}=Zx(i,s);let c,u;t.font=r.string,this.isHorizontal()?(c=this.maxWidth,u=this._fitRows(o,s,a,l)+10):(u=this.maxHeight,c=this._fitCols(o,s,a,l)+10),this.width=Math.min(c,e.maxWidth||this.maxWidth),this.height=Math.min(u,e.maxHeight||this.maxHeight)}_fitRows(e,t,i,r){const{ctx:s,maxWidth:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],u=r+a;let d=e;s.textAlign="left",s.textBaseline="middle";let h=-1,f=-u;return this.legendItems.forEach((p,g)=>{const _=i+t/2+s.measureText(p.text).width;(0===g||c[c.length-1]+_+2*a>o)&&(d+=u,c[c.length-(g>0?0:1)]=0,f+=u,h++),l[g]={left:0,top:f,row:h,width:_,height:r},c[c.length-1]+=_+a}),d}_fitCols(e,t,i,r){const{ctx:s,maxHeight:o,options:{labels:{padding:a}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],u=o-e;let d=a,h=0,f=0,p=0,g=0;return this.legendItems.forEach((_,v)=>{const b=i+t/2+s.measureText(_.text).width;v>0&&f+r+2*a>u&&(d+=h+a,c.push({width:h,height:f}),p+=h+a,g++,h=f=0),l[v]={left:p,top:f,col:g,width:b,height:r},h=Math.max(h,b),f+=r+a}),d+=h,c.push({width:h,height:f}),d}adjustHitBoxes(){if(!this.options.display)return;const e=this._computeTitleHeight(),{legendHitBoxes:t,options:{align:i,labels:{padding:r},rtl:s}}=this,o=Ss(s,this.left,this.width);if(this.isHorizontal()){let a=0,l=pt(i,this.left+r,this.right-this.lineWidths[a]);for(const c of t)a!==c.row&&(a=c.row,l=pt(i,this.left+r,this.right-this.lineWidths[a])),c.top+=this.top+e+r,c.left=o.leftForLtr(o.x(l),c.width),l+=c.width+r}else{let a=0,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height);for(const c of t)c.col!==a&&(a=c.col,l=pt(i,this.top+e+r,this.bottom-this.columnSizes[a].height)),c.top=l,c.left+=this.left+r,c.left=o.leftForLtr(o.x(c.left),c.width),l+=c.height+r}}isHorizontal(){return"top"===this.options.position||"bottom"===this.options.position}draw(){if(this.options.display){const e=this.ctx;Tc(e,this),this._draw(),Oc(e)}}_draw(){const{options:e,columnSizes:t,lineWidths:i,ctx:r}=this,{align:s,labels:o}=e,a=ae.color,l=Ss(e.rtl,this.left,this.width),c=et(o.font),{color:u,padding:d}=o,h=c.size,f=h/2;let p;this.drawTitle(),r.textAlign=l.textAlign("left"),r.textBaseline="middle",r.lineWidth=.5,r.font=c.string;const{boxWidth:g,boxHeight:_,itemHeight:v}=Zx(o,h),C=this.isHorizontal(),w=this._computeTitleHeight();p=C?{x:pt(s,this.left+d,this.right-i[0]),y:this.top+d+w,line:0}:{x:this.left+d,y:pt(s,this.top+w+d,this.bottom-t[0].height),line:0},Uw(this.ctx,e.textDirection);const M=v+d;this.legendItems.forEach((A,O)=>{r.strokeStyle=A.fontColor||u,r.fillStyle=A.fontColor||u;const k=r.measureText(A.text).width,ue=l.textAlign(A.textAlign||(A.textAlign=o.textAlign)),te=g+f+k;let ne=p.x,Ie=p.y;l.setWidth(this.width),C?O>0&&ne+te+d>this.right&&(Ie=p.y+=M,p.line++,ne=p.x=pt(s,this.left+d,this.right-i[p.line])):O>0&&Ie+M>this.bottom&&(ne=p.x=ne+t[p.line].width+d,p.line++,Ie=p.y=pt(s,this.top+w+d,this.bottom-t[p.line].height)),function(A,O,k){if(isNaN(g)||g<=0||isNaN(_)||_<0)return;r.save();const ue=K(k.lineWidth,1);if(r.fillStyle=K(k.fillStyle,a),r.lineCap=K(k.lineCap,"butt"),r.lineDashOffset=K(k.lineDashOffset,0),r.lineJoin=K(k.lineJoin,"miter"),r.lineWidth=ue,r.strokeStyle=K(k.strokeStyle,a),r.setLineDash(K(k.lineDash,[])),o.usePointStyle){const te={radius:g*Math.SQRT2/2,pointStyle:k.pointStyle,rotation:k.rotation,borderWidth:ue},ne=l.xPlus(A,g/2);Ic(r,te,ne,O+f)}else{const te=O+Math.max((h-_)/2,0),ne=l.leftForLtr(A,g),Ie=xs(k.borderRadius);r.beginPath(),Object.values(Ie).some(tt=>0!==tt)?Pc(r,{x:ne,y:te,w:g,h:_,radius:Ie}):r.rect(ne,te,g,_),r.fill(),0!==ue&&r.stroke()}r.restore()}(l.x(ne),Ie,A),ne=((n,e,t,i)=>n===(i?"left":"right")?t:"center"===n?(e+t)/2:e)(ue,ne+g+f,C?ne+te:this.right,e.rtl),function(A,O,k){ur(r,k.text,A,O+v/2,c,{strikethrough:k.hidden,textAlign:l.textAlign(k.textAlign)})}(l.x(ne),Ie,A),C?p.x+=te+d:p.y+=M}),$w(this.ctx,e.textDirection)}drawTitle(){const e=this.options,t=e.title,i=et(t.font),r=gt(t.padding);if(!t.display)return;const s=Ss(e.rtl,this.left,this.width),o=this.ctx,a=t.position,c=r.top+i.size/2;let u,d=this.left,h=this.width;if(this.isHorizontal())h=Math.max(...this.lineWidths),u=this.top+c,d=pt(e.align,d,this.right-h);else{const p=this.columnSizes.reduce((g,_)=>Math.max(g,_.height),0);u=c+pt(e.align,this.top,this.bottom-p-e.labels.padding-this._computeTitleHeight())}const f=pt(a,d,d+h);o.textAlign=s.textAlign(np(a)),o.textBaseline="middle",o.strokeStyle=t.color,o.fillStyle=t.color,o.font=i.string,ur(o,t.text,f,u,i)}_computeTitleHeight(){const e=this.options.title,t=et(e.font),i=gt(e.padding);return e.display?t.lineHeight+i.height:0}_getLegendItemAt(e,t){let i,r,s;if(fi(e,this.left,this.right)&&fi(t,this.top,this.bottom))for(s=this.legendHitBoxes,i=0;i<s.length;++i)if(r=s[i],fi(e,r.left,r.left+r.width)&&fi(t,r.top,r.top+r.height))return this.legendItems[i];return null}handleEvent(e){const t=this.options;if(!function(n,e){return!!("mousemove"===n&&(e.onHover||e.onLeave)||e.onClick&&("click"===n||"mouseup"===n))}(e.type,t))return;const i=this._getLegendItemAt(e.x,e.y);if("mousemove"===e.type){const r=this._hoveredItem,s=((n,e)=>null!==n&&null!==e&&n.datasetIndex===e.datasetIndex&&n.index===e.index)(r,i);r&&!s&&xe(t.onLeave,[e,r,this],this),this._hoveredItem=i,i&&!s&&xe(t.onHover,[e,i,this],this)}else i&&xe(t.onClick,[e,i,this],this)}}var kU={id:"legend",_element:Xx,start(n,e,t){const i=n.legend=new Xx({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i)},stop(n){mt.removeBox(n,n.legend),delete n.legend},beforeUpdate(n,e,t){const i=n.legend;mt.configure(n,i,t),i.options=t},afterUpdate(n){const e=n.legend;e.buildLabels(),e.adjustHitBoxes()},afterEvent(n,e){e.replay||n.legend.handleEvent(e.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(n,e,t){const i=e.datasetIndex,r=t.chart;r.isDatasetVisible(i)?(r.hide(i),e.hidden=!0):(r.show(i),e.hidden=!1)},onHover:null,onLeave:null,labels:{color:n=>n.chart.options.color,boxWidth:40,padding:10,generateLabels(n){const e=n.data.datasets,{labels:{usePointStyle:t,pointStyle:i,textAlign:r,color:s}}=n.legend.options;return n._getSortedDatasetMetas().map(o=>{const a=o.controller.getStyle(t?0:void 0),l=gt(a.borderWidth);return{text:e[o.index].label,fillStyle:a.backgroundColor,fontColor:s,hidden:!o.visible,lineCap:a.borderCapStyle,lineDash:a.borderDash,lineDashOffset:a.borderDashOffset,lineJoin:a.borderJoinStyle,lineWidth:(l.width+l.height)/4,strokeStyle:a.borderColor,pointStyle:i||a.pointStyle,rotation:a.rotation,textAlign:r||a.textAlign,borderRadius:0,datasetIndex:o.index}},this)}},title:{color:n=>n.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:n=>!n.startsWith("on"),labels:{_scriptable:n=>!["generateLabels","filter","sort"].includes(n)}}};class Np extends In{constructor(e){super(),this.chart=e.chart,this.options=e.options,this.ctx=e.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(e,t){const i=this.options;if(this.left=0,this.top=0,!i.display)return void(this.width=this.height=this.right=this.bottom=0);this.width=this.right=e,this.height=this.bottom=t;const r=we(i.text)?i.text.length:1;this._padding=gt(i.padding);const s=r*et(i.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=s:this.width=s}isHorizontal(){const e=this.options.position;return"top"===e||"bottom"===e}_drawArgs(e){const{top:t,left:i,bottom:r,right:s,options:o}=this,a=o.align;let c,u,d,l=0;return this.isHorizontal()?(u=pt(a,i,s),d=t+e,c=s-i):("left"===o.position?(u=i+e,d=pt(a,r,t),l=-.5*Ae):(u=s-e,d=pt(a,t,r),l=.5*Ae),c=r-t),{titleX:u,titleY:d,maxWidth:c,rotation:l}}draw(){const e=this.ctx,t=this.options;if(!t.display)return;const i=et(t.font),s=i.lineHeight/2+this._padding.top,{titleX:o,titleY:a,maxWidth:l,rotation:c}=this._drawArgs(s);ur(e,t.text,0,0,i,{color:t.color,maxWidth:l,rotation:c,textAlign:np(t.align),textBaseline:"middle",translation:[o,a]})}}var FU={id:"title",_element:Np,start(n,e,t){!function(n,e){const t=new Np({ctx:n.ctx,options:e,chart:n});mt.configure(n,t,e),mt.addBox(n,t),n.titleBlock=t}(n,t)},stop(n){mt.removeBox(n,n.titleBlock),delete n.titleBlock},beforeUpdate(n,e,t){const i=n.titleBlock;mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const qc=new WeakMap;var NU={id:"subtitle",start(n,e,t){const i=new Np({ctx:n.ctx,options:t,chart:n});mt.configure(n,i,t),mt.addBox(n,i),qc.set(n,i)},stop(n){mt.removeBox(n,qc.get(n)),qc.delete(n)},beforeUpdate(n,e,t){const i=qc.get(n);mt.configure(n,i,t),i.options=t},defaults:{align:"center",display:!1,font:{weight:"normal"},fullSize:!0,padding:0,position:"top",text:"",weight:1500},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ga={average(n){if(!n.length)return!1;let e,t,i=0,r=0,s=0;for(e=0,t=n.length;e<t;++e){const o=n[e].element;if(o&&o.hasValue()){const a=o.tooltipPosition();i+=a.x,r+=a.y,++s}}return{x:i/s,y:r/s}},nearest(n,e){if(!n.length)return!1;let s,o,a,t=e.x,i=e.y,r=Number.POSITIVE_INFINITY;for(s=0,o=n.length;s<o;++s){const l=n[s].element;if(l&&l.hasValue()){const u=sp(e,l.getCenterPoint());u<r&&(r=u,a=l)}}if(a){const l=a.tooltipPosition();t=l.x,i=l.y}return{x:t,y:i}}};function Kn(n,e){return e&&(we(e)?Array.prototype.push.apply(n,e):n.push(e)),n}function _i(n){return("string"==typeof n||n instanceof String)&&n.indexOf("\n")>-1?n.split("\n"):n}function LU(n,e){const{element:t,datasetIndex:i,index:r}=e,s=n.getDatasetMeta(i).controller,{label:o,value:a}=s.getLabelAndValue(r);return{chart:n,label:o,parsed:s.getParsed(r),raw:n.data.datasets[i].data[r],formattedValue:a,dataset:s.getDataset(),dataIndex:r,datasetIndex:i,element:t}}function Qx(n,e){const t=n.chart.ctx,{body:i,footer:r,title:s}=n,{boxWidth:o,boxHeight:a}=e,l=et(e.bodyFont),c=et(e.titleFont),u=et(e.footerFont),d=s.length,h=r.length,f=i.length,p=gt(e.padding);let g=p.height,_=0,v=i.reduce((C,w)=>C+w.before.length+w.lines.length+w.after.length,0);v+=n.beforeBody.length+n.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*e.titleSpacing+e.titleMarginBottom),v&&(g+=f*(e.displayColors?Math.max(a,l.lineHeight):l.lineHeight)+(v-f)*l.lineHeight+(v-1)*e.bodySpacing),h&&(g+=e.footerMarginTop+h*u.lineHeight+(h-1)*e.footerSpacing);let b=0;const D=function(C){_=Math.max(_,t.measureText(C).width+b)};return t.save(),t.font=c.string,pe(n.title,D),t.font=l.string,pe(n.beforeBody.concat(n.afterBody),D),b=e.displayColors?o+2+e.boxPadding:0,pe(i,C=>{pe(C.before,D),pe(C.lines,D),pe(C.after,D)}),b=0,t.font=u.string,pe(n.footer,D),t.restore(),_+=p.width,{width:_,height:g}}function jU(n,e,t,i){const{x:r,width:s}=t,{width:o,chartArea:{left:a,right:l}}=n;let c="center";return"center"===i?c=r<=(a+l)/2?"left":"right":r<=s/2?c="left":r>=o-s/2&&(c="right"),function(n,e,t,i){const{x:r,width:s}=i,o=t.caretSize+t.caretPadding;if("left"===n&&r+s+o>e.width||"right"===n&&r-s-o<0)return!0}(c,n,e,t)&&(c="center"),c}function eE(n,e,t){const i=t.yAlign||e.yAlign||function(n,e){const{y:t,height:i}=e;return t<i/2?"top":t>n.height-i/2?"bottom":"center"}(n,t);return{xAlign:t.xAlign||e.xAlign||jU(n,e,t,i),yAlign:i}}function tE(n,e,t,i){const{caretSize:r,caretPadding:s,cornerRadius:o}=n,{xAlign:a,yAlign:l}=t,c=r+s,{topLeft:u,topRight:d,bottomLeft:h,bottomRight:f}=xs(o);let p=function(n,e){let{x:t,width:i}=n;return"right"===e?t-=i:"center"===e&&(t-=i/2),t}(e,a);const g=function(n,e,t){let{y:i,height:r}=n;return"top"===e?i+=t:i-="bottom"===e?r+t:r/2,i}(e,l,c);return"center"===l?"left"===a?p+=c:"right"===a&&(p-=c):"left"===a?p-=Math.max(u,h)+r:"right"===a&&(p+=Math.max(d,f)+r),{x:ot(p,0,i.width-e.width),y:ot(g,0,i.height-e.height)}}function Yc(n,e,t){const i=gt(t.padding);return"center"===e?n.x+n.width/2:"right"===e?n.x+n.width-i.right:n.x+i.left}function nE(n){return Kn([],_i(n))}function iE(n,e){const t=e&&e.dataset&&e.dataset.tooltip&&e.dataset.tooltip.callbacks;return t?n.override(t):n}let rE=(()=>{class n extends In{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart||t._chart,this._chart=this.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const i=this.chart,r=this.options.setContext(this.getContext()),s=r.enabled&&i.options.animation&&r.animations,o=new Zw(this.chart,s);return s._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=function(n,e,t){return Li(n,{tooltip:e,tooltipItems:t,type:"tooltip"})}(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,i){const{callbacks:r}=i,s=r.beforeTitle.apply(this,[t]),o=r.title.apply(this,[t]),a=r.afterTitle.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}getBeforeBody(t,i){return nE(i.callbacks.beforeBody.apply(this,[t]))}getBody(t,i){const{callbacks:r}=i,s=[];return pe(t,o=>{const a={before:[],lines:[],after:[]},l=iE(r,o);Kn(a.before,_i(l.beforeLabel.call(this,o))),Kn(a.lines,l.label.call(this,o)),Kn(a.after,_i(l.afterLabel.call(this,o))),s.push(a)}),s}getAfterBody(t,i){return nE(i.callbacks.afterBody.apply(this,[t]))}getFooter(t,i){const{callbacks:r}=i,s=r.beforeFooter.apply(this,[t]),o=r.footer.apply(this,[t]),a=r.afterFooter.apply(this,[t]);let l=[];return l=Kn(l,_i(s)),l=Kn(l,_i(o)),l=Kn(l,_i(a)),l}_createItems(t){const i=this._active,r=this.chart.data,s=[],o=[],a=[];let c,u,l=[];for(c=0,u=i.length;c<u;++c)l.push(LU(this.chart,i[c]));return t.filter&&(l=l.filter((d,h,f)=>t.filter(d,h,f,r))),t.itemSort&&(l=l.sort((d,h)=>t.itemSort(d,h,r))),pe(l,d=>{const h=iE(t.callbacks,d);s.push(h.labelColor.call(this,d)),o.push(h.labelPointStyle.call(this,d)),a.push(h.labelTextColor.call(this,d))}),this.labelColors=s,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=l,l}update(t,i){const r=this.options.setContext(this.getContext()),s=this._active;let o,a=[];if(s.length){const l=ga[r.position].call(this,s,this._eventPosition);a=this._createItems(r),this.title=this.getTitle(a,r),this.beforeBody=this.getBeforeBody(a,r),this.body=this.getBody(a,r),this.afterBody=this.getAfterBody(a,r),this.footer=this.getFooter(a,r);const c=this._size=Qx(this,r),u=Object.assign({},l,c),d=eE(this.chart,r,u),h=tE(r,u,d,this.chart);this.xAlign=d.xAlign,this.yAlign=d.yAlign,o={opacity:1,x:h.x,y:h.y,width:c.width,height:c.height,caretX:l.x,caretY:l.y}}else 0!==this.opacity&&(o={opacity:0});this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&r.external&&r.external.call(this,{chart:this.chart,tooltip:this,replay:i})}drawCaret(t,i,r,s){const o=this.getCaretPosition(t,r,s);i.lineTo(o.x1,o.y1),i.lineTo(o.x2,o.y2),i.lineTo(o.x3,o.y3)}getCaretPosition(t,i,r){const{xAlign:s,yAlign:o}=this,{caretSize:a,cornerRadius:l}=r,{topLeft:c,topRight:u,bottomLeft:d,bottomRight:h}=xs(l),{x:f,y:p}=t,{width:g,height:_}=i;let v,b,D,C,w,M;return"center"===o?(w=p+_/2,"left"===s?(v=f,b=v-a,C=w+a,M=w-a):(v=f+g,b=v+a,C=w-a,M=w+a),D=v):(b="left"===s?f+Math.max(c,d)+a:"right"===s?f+g-Math.max(u,h)-a:this.caretX,"top"===o?(C=p,w=C-a,v=b-a,D=b+a):(C=p+_,w=C+a,v=b+a,D=b-a),M=C),{x1:v,x2:b,x3:D,y1:C,y2:w,y3:M}}drawTitle(t,i,r){const s=this.title,o=s.length;let a,l,c;if(o){const u=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.titleAlign,r),i.textAlign=u.textAlign(r.titleAlign),i.textBaseline="middle",a=et(r.titleFont),l=r.titleSpacing,i.fillStyle=r.titleColor,i.font=a.string,c=0;c<o;++c)i.fillText(s[c],u.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+l,c+1===o&&(t.y+=r.titleMarginBottom-l)}}_drawColorBox(t,i,r,s,o){const a=this.labelColors[r],l=this.labelPointStyles[r],{boxHeight:c,boxWidth:u,boxPadding:d}=o,h=et(o.bodyFont),f=Yc(this,"left",o),p=s.x(f),_=i.y+(c<h.lineHeight?(h.lineHeight-c)/2:0);if(o.usePointStyle){const v={radius:Math.min(u,c)/2,pointStyle:l.pointStyle,rotation:l.rotation,borderWidth:1},b=s.leftForLtr(p,u)+u/2,D=_+c/2;t.strokeStyle=o.multiKeyBackground,t.fillStyle=o.multiKeyBackground,Ic(t,v,b,D),t.strokeStyle=a.borderColor,t.fillStyle=a.backgroundColor,Ic(t,v,b,D)}else{t.lineWidth=a.borderWidth||1,t.strokeStyle=a.borderColor,t.setLineDash(a.borderDash||[]),t.lineDashOffset=a.borderDashOffset||0;const v=s.leftForLtr(p,u-d),b=s.leftForLtr(s.xPlus(p,1),u-d-2),D=xs(a.borderRadius);Object.values(D).some(C=>0!==C)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,Pc(t,{x:v,y:_,w:u,h:c,radius:D}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),Pc(t,{x:b,y:_+1,w:u-2,h:c-2,radius:D}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(v,_,u,c),t.strokeRect(v,_,u,c),t.fillStyle=a.backgroundColor,t.fillRect(b,_+1,u-2,c-2))}t.fillStyle=this.labelTextColors[r]}drawBody(t,i,r){const{body:s}=this,{bodySpacing:o,bodyAlign:a,displayColors:l,boxHeight:c,boxWidth:u,boxPadding:d}=r,h=et(r.bodyFont);let f=h.lineHeight,p=0;const g=Ss(r.rtl,this.x,this.width),_=function(k){i.fillText(k,g.x(t.x+p),t.y+f/2),t.y+=f+o},v=g.textAlign(a);let b,D,C,w,M,A,O;for(i.textAlign=a,i.textBaseline="middle",i.font=h.string,t.x=Yc(this,v,r),i.fillStyle=r.bodyColor,pe(this.beforeBody,_),p=l&&"right"!==v?"center"===a?u/2+d:u+2+d:0,w=0,A=s.length;w<A;++w){for(b=s[w],D=this.labelTextColors[w],i.fillStyle=D,pe(b.before,_),C=b.lines,l&&C.length&&(this._drawColorBox(i,t,w,g,r),f=Math.max(h.lineHeight,c)),M=0,O=C.length;M<O;++M)_(C[M]),f=h.lineHeight;pe(b.after,_)}p=0,f=h.lineHeight,pe(this.afterBody,_),t.y-=o}drawFooter(t,i,r){const s=this.footer,o=s.length;let a,l;if(o){const c=Ss(r.rtl,this.x,this.width);for(t.x=Yc(this,r.footerAlign,r),t.y+=r.footerMarginTop,i.textAlign=c.textAlign(r.footerAlign),i.textBaseline="middle",a=et(r.footerFont),i.fillStyle=r.footerColor,i.font=a.string,l=0;l<o;++l)i.fillText(s[l],c.x(t.x),t.y+a.lineHeight/2),t.y+=a.lineHeight+r.footerSpacing}}drawBackground(t,i,r,s){const{xAlign:o,yAlign:a}=this,{x:l,y:c}=t,{width:u,height:d}=r,{topLeft:h,topRight:f,bottomLeft:p,bottomRight:g}=xs(s.cornerRadius);i.fillStyle=s.backgroundColor,i.strokeStyle=s.borderColor,i.lineWidth=s.borderWidth,i.beginPath(),i.moveTo(l+h,c),"top"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+u-f,c),i.quadraticCurveTo(l+u,c,l+u,c+f),"center"===a&&"right"===o&&this.drawCaret(t,i,r,s),i.lineTo(l+u,c+d-g),i.quadraticCurveTo(l+u,c+d,l+u-g,c+d),"bottom"===a&&this.drawCaret(t,i,r,s),i.lineTo(l+p,c+d),i.quadraticCurveTo(l,c+d,l,c+d-p),"center"===a&&"left"===o&&this.drawCaret(t,i,r,s),i.lineTo(l,c+h),i.quadraticCurveTo(l,c,l+h,c),i.closePath(),i.fill(),s.borderWidth>0&&i.stroke()}_updateAnimationTarget(t){const i=this.chart,r=this.$animations,s=r&&r.x,o=r&&r.y;if(s||o){const a=ga[t.position].call(this,this._active,this._eventPosition);if(!a)return;const l=this._size=Qx(this,t),c=Object.assign({},a,this._size),u=eE(i,t,c),d=tE(t,c,u,i);(s._to!==d.x||o._to!==d.y)&&(this.xAlign=u.xAlign,this.yAlign=u.yAlign,this.width=l.width,this.height=l.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,d))}}draw(t){const i=this.options.setContext(this.getContext());let r=this.opacity;if(!r)return;this._updateAnimationTarget(i);const s={width:this.width,height:this.height},o={x:this.x,y:this.y};r=Math.abs(r)<.001?0:r;const a=gt(i.padding);i.enabled&&(this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length)&&(t.save(),t.globalAlpha=r,this.drawBackground(o,t,s,i),Uw(t,i.textDirection),o.y+=a.top,this.drawTitle(o,t,i),this.drawBody(o,t,i),this.drawFooter(o,t,i),$w(t,i.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,i){const r=this._active,s=t.map(({datasetIndex:l,index:c})=>{const u=this.chart.getDatasetMeta(l);if(!u)throw new Error("Cannot find a dataset at index "+l);return{datasetIndex:l,element:u.data[c],index:c}}),o=!vc(r,s),a=this._positionChanged(s,i);(o||a)&&(this._active=s,this._eventPosition=i,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,i,r=!0){if(i&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const s=this.options,o=this._active||[],a=this._getActiveElements(t,o,i,r),l=this._positionChanged(a,t),c=i||!vc(a,o)||l;return c&&(this._active=a,(s.enabled||s.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,i))),c}_getActiveElements(t,i,r,s){const o=this.options;if("mouseout"===t.type)return[];if(!s)return i;const a=this.chart.getElementsAtEventForMode(t,o.mode,o,r);return o.reverse&&a.reverse(),a}_positionChanged(t,i){const{caretX:r,caretY:s,options:o}=this,a=ga[o.position].call(this,t,i);return!1!==a&&(r!==a.x||s!==a.y)}}return n.positioners=ga,n})();var zU={id:"tooltip",_element:rE,positioners:ga,afterInit(n,e,t){t&&(n.tooltip=new rE({chart:n,options:t}))},beforeUpdate(n,e,t){n.tooltip&&n.tooltip.initialize(t)},reset(n,e,t){n.tooltip&&n.tooltip.initialize(t)},afterDraw(n){const e=n.tooltip,t={tooltip:e};!1!==n.notifyPlugins("beforeTooltipDraw",t)&&(e&&e.draw(n.ctx),n.notifyPlugins("afterTooltipDraw",t))},afterEvent(n,e){n.tooltip&&n.tooltip.handleEvent(e.event,e.replay,e.inChartArea)&&(e.changed=!0)},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(n,e)=>e.bodyFont.size,boxWidth:(n,e)=>e.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:{beforeTitle:hi,title(n){if(n.length>0){const e=n[0],t=e.chart.data.labels,i=t?t.length:0;if(this&&this.options&&"dataset"===this.options.mode)return e.dataset.label||"";if(e.label)return e.label;if(i>0&&e.dataIndex<i)return t[e.dataIndex]}return""},afterTitle:hi,beforeBody:hi,beforeLabel:hi,label(n){if(this&&this.options&&"dataset"===this.options.mode)return n.label+": "+n.formattedValue||n.formattedValue;let e=n.dataset.label||"";e&&(e+=": ");const t=n.formattedValue;return de(t)||(e+=t),e},labelColor(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{borderColor:t.borderColor,backgroundColor:t.backgroundColor,borderWidth:t.borderWidth,borderDash:t.borderDash,borderDashOffset:t.borderDashOffset,borderRadius:0}},labelTextColor(){return this.options.bodyColor},labelPointStyle(n){const t=n.chart.getDatasetMeta(n.datasetIndex).controller.getStyle(n.dataIndex);return{pointStyle:t.pointStyle,rotation:t.rotation}},afterLabel:hi,afterBody:hi,beforeFooter:hi,footer:hi,afterFooter:hi}},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:n=>"filter"!==n&&"itemSort"!==n&&"external"!==n,_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]},WU=Object.freeze({__proto__:null,Decimation:fU,Filler:TU,Legend:kU,SubTitle:NU,Title:FU,Tooltip:zU});class Kc extends pr{constructor(e){super(e),this._startValue=void 0,this._valueRange=0,this._addedLabels=[]}init(e){const t=this._addedLabels;if(t.length){const i=this.getLabels();for(const{index:r,label:s}of t)i[r]===s&&i.splice(r,1);this._addedLabels=[]}super.init(e)}parse(e,t){if(de(e))return null;const i=this.getLabels();return((n,e)=>null===n?null:ot(Math.round(n),0,e))(t=isFinite(t)&&i[t]===e?t:function(n,e,t,i){const r=n.indexOf(e);return-1===r?((n,e,t,i)=>("string"==typeof e?(t=n.push(e)-1,i.unshift({index:t,label:e})):isNaN(e)&&(t=null),t))(n,e,t,i):r!==n.lastIndexOf(e)?t:r}(i,e,K(t,e),this._addedLabels),i.length-1)}determineDataLimits(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let{min:i,max:r}=this.getMinMax(!0);"ticks"===this.options.bounds&&(e||(i=0),t||(r=this.getLabels().length-1)),this.min=i,this.max=r}buildTicks(){const e=this.min,t=this.max,i=this.options.offset,r=[];let s=this.getLabels();s=0===e&&t===s.length-1?s:s.slice(e,t+1),this._valueRange=Math.max(s.length-(i?0:1),1),this._startValue=this.min-(i?.5:0);for(let o=e;o<=t;o++)r.push({value:o});return r}getLabelForValue(e){const t=this.getLabels();return e>=0&&e<t.length?t[e]:e}configure(){super.configure(),this.isHorizontal()||(this._reversePixels=!this._reversePixels)}getPixelForValue(e){return"number"!=typeof e&&(e=this.parse(e)),null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getPixelForTick(e){const t=this.ticks;return e<0||e>t.length-1?null:this.getPixelForValue(t[e].value)}getValueForPixel(e){return Math.round(this._startValue+this.getDecimalForPixel(e)*this._valueRange)}getBasePixel(){return this.bottom}}function sE(n,e,{horizontal:t,minRotation:i}){const r=An(i),s=(t?Math.sin(r):Math.cos(r))||.001;return Math.min(e/s,.75*e*(""+n).length)}Kc.id="category",Kc.defaults={ticks:{callback:Kc.prototype.getLabelForValue}};class Jc extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(e,t){return de(e)||("number"==typeof e||e instanceof Number)&&!isFinite(+e)?null:+e}handleTickRangeOptions(){const{beginAtZero:e}=this.options,{minDefined:t,maxDefined:i}=this.getUserBounds();let{min:r,max:s}=this;const o=l=>r=t?r:l,a=l=>s=i?s:l;if(e){const l=Yn(r),c=Yn(s);l<0&&c<0?a(0):l>0&&c>0&&o(0)}if(r===s){let l=1;(s>=Number.MAX_SAFE_INTEGER||r<=Number.MIN_SAFE_INTEGER)&&(l=Math.abs(.05*s)),a(s+l),e||o(r-l)}this.min=r,this.max=s}getTickLimit(){const e=this.options.ticks;let r,{maxTicksLimit:t,stepSize:i}=e;return i?(r=Math.ceil(this.max/i)-Math.floor(this.min/i)+1,r>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${i} would result generating up to ${r} ticks. Limiting to 1000.`),r=1e3)):(r=this.computeTickLimit(),t=t||11),t&&(r=Math.min(t,r)),r}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const e=this.options,t=e.ticks;let i=this.getTickLimit();i=Math.max(2,i);const o=function(n,e){const t=[],{bounds:r,step:s,min:o,max:a,precision:l,count:c,maxTicks:u,maxDigits:d,includeBounds:h}=n,f=s||1,p=u-1,{min:g,max:_}=e,v=!de(o),b=!de(a),D=!de(c),C=(_-g)/(d+1);let M,A,O,k,w=cw((_-g)/p/f)*f;if(w<1e-14&&!v&&!b)return[{value:g},{value:_}];k=Math.ceil(_/w)-Math.floor(g/w),k>p&&(w=cw(k*w/p/f)*f),de(l)||(M=Math.pow(10,l),w=Math.ceil(w*M)/M),"ticks"===r?(A=Math.floor(g/w)*w,O=Math.ceil(_/w)*w):(A=g,O=_),v&&b&&s&&function(n,e){const t=Math.round(n);return t-e<=n&&t+e>=n}((a-o)/s,w/1e3)?(k=Math.round(Math.min((a-o)/w,u)),w=(a-o)/k,A=o,O=a):D?(A=v?o:A,O=b?a:O,k=c-1,w=(O-A)/k):(k=(O-A)/w,k=Xo(k,Math.round(k),w/1e3)?Math.round(k):Math.ceil(k));const ue=Math.max(dw(w),dw(A));M=Math.pow(10,de(l)?ue:l),A=Math.round(A*M)/M,O=Math.round(O*M)/M;let te=0;for(v&&(h&&A!==o?(t.push({value:o}),A<o&&te++,Xo(Math.round((A+te*w)*M)/M,o,sE(o,C,n))&&te++):A<o&&te++);te<k;++te)t.push({value:Math.round((A+te*w)*M)/M});return b&&h&&O!==a?t.length&&Xo(t[t.length-1].value,a,sE(a,C,n))?t[t.length-1].value=a:t.push({value:a}):(!b||O===a)&&t.push({value:O}),t}({maxTicks:i,bounds:e.bounds,min:e.min,max:e.max,precision:t.precision,step:t.stepSize,count:t.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:t.minRotation||0,includeBounds:!1!==t.includeBounds},this._range||this);return"ticks"===e.bounds&&uw(o,this,"value"),e.reverse?(o.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),o}configure(){const e=this.ticks;let t=this.min,i=this.max;if(super.configure(),this.options.offset&&e.length){const r=(i-t)/Math.max(e.length-1,1)/2;t-=r,i+=r}this._startValue=t,this._endValue=i,this._valueRange=i-t}getLabelForValue(e){return oa(e,this.chart.options.locale,this.options.ticks.format)}}class Lp extends Jc{determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?e:0,this.max=Be(t)?t:1,this.handleTickRangeOptions()}computeTickLimit(){const e=this.isHorizontal(),t=e?this.width:this.height,i=An(this.options.ticks.minRotation),r=(e?Math.sin(i):Math.cos(i))||.001,s=this._resolveTickFontOptions(0);return Math.ceil(t/Math.min(40,s.lineHeight/r))}getPixelForValue(e){return null===e?NaN:this.getPixelForDecimal((e-this._startValue)/this._valueRange)}getValueForPixel(e){return this._startValue+this.getDecimalForPixel(e)*this._valueRange}}function oE(n){return n/Math.pow(10,Math.floor(dn(n)))==1}Lp.id="linear",Lp.defaults={ticks:{callback:Bc.formatters.numeric}};class Vp extends pr{constructor(e){super(e),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(e,t){const i=Jc.prototype.parse.apply(this,[e,t]);if(0!==i)return Be(i)&&i>0?i:null;this._zero=!0}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!0);this.min=Be(e)?Math.max(0,e):null,this.max=Be(t)?Math.max(0,t):null,this.options.beginAtZero&&(this._zero=!0),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:e,maxDefined:t}=this.getUserBounds();let i=this.min,r=this.max;const s=l=>i=e?i:l,o=l=>r=t?r:l,a=(l,c)=>Math.pow(10,Math.floor(dn(l))+c);i===r&&(i<=0?(s(1),o(10)):(s(a(i,-1)),o(a(r,1)))),i<=0&&s(a(r,-1)),r<=0&&o(a(i,1)),this._zero&&this.min!==this._suggestedMin&&i===a(this.min,0)&&s(a(i,-1)),this.min=i,this.max=r}buildTicks(){const e=this.options,i=function(n,e){const t=Math.floor(dn(e.max)),i=Math.ceil(e.max/Math.pow(10,t)),r=[];let s=cn(n.min,Math.pow(10,Math.floor(dn(e.min)))),o=Math.floor(dn(s)),a=Math.floor(s/Math.pow(10,o)),l=o<0?Math.pow(10,Math.abs(o)):1;do{r.push({value:s,major:oE(s)}),++a,10===a&&(a=1,++o,l=o>=0?1:l),s=Math.round(a*Math.pow(10,o)*l)/l}while(o<t||o===t&&a<i);const c=cn(n.max,s);return r.push({value:c,major:oE(s)}),r}({min:this._userMin,max:this._userMax},this);return"ticks"===e.bounds&&uw(i,this,"value"),e.reverse?(i.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),i}getLabelForValue(e){return void 0===e?"0":oa(e,this.chart.options.locale,this.options.ticks.format)}configure(){const e=this.min;super.configure(),this._startValue=dn(e),this._valueRange=dn(this.max)-dn(e)}getPixelForValue(e){return(void 0===e||0===e)&&(e=this.min),null===e||isNaN(e)?NaN:this.getPixelForDecimal(e===this.min?0:(dn(e)-this._startValue)/this._valueRange)}getValueForPixel(e){const t=this.getDecimalForPixel(e);return Math.pow(10,this._startValue+t*this._valueRange)}}function Bp(n){const e=n.ticks;if(e.display&&n.display){const t=gt(e.backdropPadding);return K(e.font&&e.font.size,ae.font.size)+t.height}return 0}function ZU(n,e,t){return t=we(t)?t:[t],{w:aB(n,e.string,t),h:t.length*e.lineHeight}}function aE(n,e,t,i,r){return n===i||n===r?{start:e-t/2,end:e+t/2}:n<i||n>r?{start:e-t,end:e}:{start:e,end:e+t}}function QU(n,e,t,i,r){const s=Math.abs(Math.sin(t)),o=Math.abs(Math.cos(t));let a=0,l=0;i.start<e.l?(a=(e.l-i.start)/s,n.l=Math.min(n.l,e.l-a)):i.end>e.r&&(a=(i.end-e.r)/s,n.r=Math.max(n.r,e.r+a)),r.start<e.t?(l=(e.t-r.start)/o,n.t=Math.min(n.t,e.t-l)):r.end>e.b&&(l=(r.end-e.b)/o,n.b=Math.max(n.b,e.b+l))}function t3(n){return 0===n||180===n?"center":n<180?"left":"right"}function n3(n,e,t){return"right"===t?n-=e:"center"===t&&(n-=e/2),n}function i3(n,e,t){return 90===t||270===t?n-=e/2:(t>270||t<90)&&(n-=e),n}function lE(n,e,t,i){const{ctx:r}=n;if(t)r.arc(n.xCenter,n.yCenter,e,0,_e);else{let s=n.getPointPosition(0,e);r.moveTo(s.x,s.y);for(let o=1;o<i;o++)s=n.getPointPosition(o,e),r.lineTo(s.x,s.y)}}Vp.id="logarithmic",Vp.defaults={ticks:{callback:Bc.formatters.logarithmic,major:{enabled:!0}}};class ma extends Jc{constructor(e){super(e),this.xCenter=void 0,this.yCenter=void 0,this.drawingArea=void 0,this._pointLabels=[],this._pointLabelItems=[]}setDimensions(){const e=this._padding=gt(Bp(this.options)/2),t=this.width=this.maxWidth-e.width,i=this.height=this.maxHeight-e.height;this.xCenter=Math.floor(this.left+t/2+e.left),this.yCenter=Math.floor(this.top+i/2+e.top),this.drawingArea=Math.floor(Math.min(t,i)/2)}determineDataLimits(){const{min:e,max:t}=this.getMinMax(!1);this.min=Be(e)&&!isNaN(e)?e:0,this.max=Be(t)&&!isNaN(t)?t:0,this.handleTickRangeOptions()}computeTickLimit(){return Math.ceil(this.drawingArea/Bp(this.options))}generateTickLabels(e){Jc.prototype.generateTickLabels.call(this,e),this._pointLabels=this.getLabels().map((t,i)=>{const r=xe(this.options.pointLabels.callback,[t,i],this);return r||0===r?r:""}).filter((t,i)=>this.chart.getDataVisibility(i))}fit(){const e=this.options;e.display&&e.pointLabels.display?function(n){const e={l:n.left+n._padding.left,r:n.right-n._padding.right,t:n.top+n._padding.top,b:n.bottom-n._padding.bottom},t=Object.assign({},e),i=[],r=[],s=n._pointLabels.length,o=n.options.pointLabels,a=o.centerPointLabels?Ae/s:0;for(let l=0;l<s;l++){const c=o.setContext(n.getPointLabelContext(l));r[l]=c.padding;const u=n.getPointPosition(l,n.drawingArea+r[l],a),d=et(c.font),h=ZU(n.ctx,d,n._pointLabels[l]);i[l]=h;const f=Kt(n.getIndexAngle(l)+a),p=Math.round(rp(f));QU(t,e,f,aE(p,u.x,h.w,0,180),aE(p,u.y,h.h,90,270))}n.setCenterPoint(e.l-t.l,t.r-e.r,e.t-t.t,t.b-e.b),n._pointLabelItems=function(n,e,t){const i=[],r=n._pointLabels.length,s=n.options,o=Bp(s)/2,a=n.drawingArea,l=s.pointLabels.centerPointLabels?Ae/r:0;for(let c=0;c<r;c++){const u=n.getPointPosition(c,a+o+t[c],l),d=Math.round(rp(Kt(u.angle+Fe))),h=e[c],f=i3(u.y,h.h,d),p=t3(d),g=n3(u.x,h.w,p);i.push({x:u.x,y:f,textAlign:p,left:g,top:f,right:g+h.w,bottom:f+h.h})}return i}(n,i,r)}(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(e,t,i,r){this.xCenter+=Math.floor((e-t)/2),this.yCenter+=Math.floor((i-r)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(e,t,i,r))}getIndexAngle(e){return Kt(e*(_e/(this._pointLabels.length||1))+An(this.options.startAngle||0))}getDistanceFromCenterForValue(e){if(de(e))return NaN;const t=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-e)*t:(e-this.min)*t}getValueForDistanceFromCenter(e){if(de(e))return NaN;const t=e/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-t:this.min+t}getPointLabelContext(e){const t=this._pointLabels||[];if(e>=0&&e<t.length){const i=t[e];return function(n,e,t){return Li(n,{label:t,index:e,type:"pointLabel"})}(this.getContext(),e,i)}}getPointPosition(e,t,i=0){const r=this.getIndexAngle(e)-Fe+i;return{x:Math.cos(r)*t+this.xCenter,y:Math.sin(r)*t+this.yCenter,angle:r}}getPointPositionForValue(e,t){return this.getPointPosition(e,this.getDistanceFromCenterForValue(t))}getBasePosition(e){return this.getPointPositionForValue(e||0,this.getBaseValue())}getPointLabelPosition(e){const{left:t,top:i,right:r,bottom:s}=this._pointLabelItems[e];return{left:t,top:i,right:r,bottom:s}}drawBackground(){const{backgroundColor:e,grid:{circular:t}}=this.options;if(e){const i=this.ctx;i.save(),i.beginPath(),lE(this,this.getDistanceFromCenterForValue(this._endValue),t,this._pointLabels.length),i.closePath(),i.fillStyle=e,i.fill(),i.restore()}}drawGrid(){const e=this.ctx,t=this.options,{angleLines:i,grid:r}=t,s=this._pointLabels.length;let o,a,l;if(t.pointLabels.display&&function(n,e){const{ctx:t,options:{pointLabels:i}}=n;for(let r=e-1;r>=0;r--){const s=i.setContext(n.getPointLabelContext(r)),o=et(s.font),{x:a,y:l,textAlign:c,left:u,top:d,right:h,bottom:f}=n._pointLabelItems[r],{backdropColor:p}=s;if(!de(p)){const g=gt(s.backdropPadding);t.fillStyle=p,t.fillRect(u-g.left,d-g.top,h-u+g.width,f-d+g.height)}ur(t,n._pointLabels[r],a,l+o.lineHeight/2,o,{color:s.color,textAlign:c,textBaseline:"middle"})}}(this,s),r.display&&this.ticks.forEach((c,u)=>{0!==u&&(a=this.getDistanceFromCenterForValue(c.value),function(n,e,t,i){const r=n.ctx,s=e.circular,{color:o,lineWidth:a}=e;!s&&!i||!o||!a||t<0||(r.save(),r.strokeStyle=o,r.lineWidth=a,r.setLineDash(e.borderDash),r.lineDashOffset=e.borderDashOffset,r.beginPath(),lE(n,t,s,i),r.closePath(),r.stroke(),r.restore())}(this,r.setContext(this.getContext(u-1)),a,s))}),i.display){for(e.save(),o=s-1;o>=0;o--){const c=i.setContext(this.getPointLabelContext(o)),{color:u,lineWidth:d}=c;!d||!u||(e.lineWidth=d,e.strokeStyle=u,e.setLineDash(c.borderDash),e.lineDashOffset=c.borderDashOffset,a=this.getDistanceFromCenterForValue(t.ticks.reverse?this.min:this.max),l=this.getPointPosition(o,a),e.beginPath(),e.moveTo(this.xCenter,this.yCenter),e.lineTo(l.x,l.y),e.stroke())}e.restore()}}drawBorder(){}drawLabels(){const e=this.ctx,t=this.options,i=t.ticks;if(!i.display)return;const r=this.getIndexAngle(0);let s,o;e.save(),e.translate(this.xCenter,this.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",this.ticks.forEach((a,l)=>{if(0===l&&!t.reverse)return;const c=i.setContext(this.getContext(l)),u=et(c.font);if(s=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){e.font=u.string,o=e.measureText(a.label).width,e.fillStyle=c.backdropColor;const d=gt(c.backdropPadding);e.fillRect(-o/2-d.left,-s-u.size/2-d.top,o+d.width,u.size+d.height)}ur(e,a.label,0,-s,u,{color:c.color})}),e.restore()}drawTitle(){}}ma.id="radialLinear",ma.defaults={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Bc.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback:n=>n,padding:5,centerPointLabels:!1}},ma.defaultRoutes={"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"},ma.descriptors={angleLines:{_fallback:"grid"}};const Zc={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},kt=Object.keys(Zc);function a3(n,e){return n-e}function cE(n,e){if(de(e))return null;const t=n._adapter,{parser:i,round:r,isoWeekday:s}=n._parseOpts;let o=e;return"function"==typeof i&&(o=i(o)),Be(o)||(o="string"==typeof i?t.parse(o,i):t.parse(o)),null===o?null:(r&&(o="week"!==r||!Zo(s)&&!0!==s?t.startOf(o,r):t.startOf(o,"isoWeek",s)),+o)}function uE(n,e,t,i){const r=kt.length;for(let s=kt.indexOf(n);s<r-1;++s){const o=Zc[kt[s]],a=o.steps?o.steps:Number.MAX_SAFE_INTEGER;if(o.common&&Math.ceil((t-e)/(a*o.size))<=i)return kt[s]}return kt[r-1]}function dE(n,e,t){if(t){if(t.length){const{lo:i,hi:r}=gp(t,e);n[t[i]>=e?t[i]:t[r]]=!0}}else n[e]=!0}function hE(n,e,t){const i=[],r={},s=e.length;let o,a;for(o=0;o<s;++o)a=e[o],r[a]=o,i.push({value:a,major:!1});return 0!==s&&t?function(n,e,t,i){const r=n._adapter,s=+r.startOf(e[0].value,i),o=e[e.length-1].value;let a,l;for(a=s;a<=o;a=+r.add(a,1,i))l=t[a],l>=0&&(e[l].major=!0);return e}(n,i,r,t):i}let jp=(()=>{class n extends pr{constructor(t){super(t),this._cache={data:[],labels:[],all:[]},this._unit="day",this._majorUnit=void 0,this._offsets={},this._normalized=!1,this._parseOpts=void 0}init(t,i){const r=t.time||(t.time={}),s=this._adapter=new kj._date(t.adapters.date);Ko(r.displayFormats,s.formats()),this._parseOpts={parser:r.parser,round:r.round,isoWeekday:r.isoWeekday},super.init(t),this._normalized=i.normalized}parse(t,i){return void 0===t?null:cE(this,t)}beforeLayout(){super.beforeLayout(),this._cache={data:[],labels:[],all:[]}}determineDataLimits(){const t=this.options,i=this._adapter,r=t.time.unit||"day";let{min:s,max:o,minDefined:a,maxDefined:l}=this.getUserBounds();function c(u){!a&&!isNaN(u.min)&&(s=Math.min(s,u.min)),!l&&!isNaN(u.max)&&(o=Math.max(o,u.max))}(!a||!l)&&(c(this._getLabelBounds()),("ticks"!==t.bounds||"labels"!==t.ticks.source)&&c(this.getMinMax(!1))),s=Be(s)&&!isNaN(s)?s:+i.startOf(Date.now(),r),o=Be(o)&&!isNaN(o)?o:+i.endOf(Date.now(),r)+1,this.min=Math.min(s,o-1),this.max=Math.max(s+1,o)}_getLabelBounds(){const t=this.getLabelTimestamps();let i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY;return t.length&&(i=t[0],r=t[t.length-1]),{min:i,max:r}}buildTicks(){const t=this.options,i=t.time,r=t.ticks,s="labels"===r.source?this.getLabelTimestamps():this._generate();"ticks"===t.bounds&&s.length&&(this.min=this._userMin||s[0],this.max=this._userMax||s[s.length-1]);const o=this.min,l=function(n,e,t){let i=0,r=n.length;for(;i<r&&n[i]<e;)i++;for(;r>i&&n[r-1]>t;)r--;return i>0||r<n.length?n.slice(i,r):n}(s,o,this.max);return this._unit=i.unit||(r.autoSkip?uE(i.minUnit,this.min,this.max,this._getLabelCapacity(o)):function(n,e,t,i,r){for(let s=kt.length-1;s>=kt.indexOf(t);s--){const o=kt[s];if(Zc[o].common&&n._adapter.diff(r,i,o)>=e-1)return o}return kt[t?kt.indexOf(t):0]}(this,l.length,i.minUnit,this.min,this.max)),this._majorUnit=r.major.enabled&&"year"!==this._unit?function(n){for(let e=kt.indexOf(n)+1,t=kt.length;e<t;++e)if(Zc[kt[e]].common)return kt[e]}(this._unit):void 0,this.initOffsets(s),t.reverse&&l.reverse(),hE(this,l,this._majorUnit)}initOffsets(t){let s,o,i=0,r=0;this.options.offset&&t.length&&(s=this.getDecimalForValue(t[0]),i=1===t.length?1-s:(this.getDecimalForValue(t[1])-s)/2,o=this.getDecimalForValue(t[t.length-1]),r=1===t.length?o:(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;i=ot(i,0,a),r=ot(r,0,a),this._offsets={start:i,end:r,factor:1/(i+1+r)}}_generate(){const t=this._adapter,i=this.min,r=this.max,s=this.options,o=s.time,a=o.unit||uE(o.minUnit,i,r,this._getLabelCapacity(i)),l=K(o.stepSize,1),c="week"===a&&o.isoWeekday,u=Zo(c)||!0===c,d={};let f,p,h=i;if(u&&(h=+t.startOf(h,"isoWeek",c)),h=+t.startOf(h,u?"day":a),t.diff(r,i,a)>1e5*l)throw new Error(i+" and "+r+" are too far apart with stepSize of "+l+" "+a);const g="data"===s.ticks.source&&this.getDataTimestamps();for(f=h,p=0;f<r;f=+t.add(f,l,a),p++)dE(d,f,g);return(f===r||"ticks"===s.bounds||1===p)&&dE(d,f,g),Object.keys(d).sort((_,v)=>_-v).map(_=>+_)}getLabelForValue(t){const r=this.options.time;return this._adapter.format(t,r.tooltipFormat?r.tooltipFormat:r.displayFormats.datetime)}_tickFormatFunction(t,i,r,s){const o=this.options,a=o.time.displayFormats,l=this._unit,c=this._majorUnit,d=c&&a[c],h=r[i],p=this._adapter.format(t,s||(c&&d&&h&&h.major?d:l&&a[l])),g=o.ticks.callback;return g?xe(g,[p,i,r],this):p}generateTickLabels(t){let i,r,s;for(i=0,r=t.length;i<r;++i)s=t[i],s.label=this._tickFormatFunction(s.value,i,t)}getDecimalForValue(t){return null===t?NaN:(t-this.min)/(this.max-this.min)}getPixelForValue(t){const i=this._offsets,r=this.getDecimalForValue(t);return this.getPixelForDecimal((i.start+r)*i.factor)}getValueForPixel(t){const i=this._offsets,r=this.getDecimalForPixel(t)/i.factor-i.end;return this.min+r*(this.max-this.min)}_getLabelSize(t){const i=this.options.ticks,r=this.ctx.measureText(t).width,s=An(this.isHorizontal()?i.maxRotation:i.minRotation),o=Math.cos(s),a=Math.sin(s),l=this._resolveTickFontOptions(0).size;return{w:r*o+l*a,h:r*a+l*o}}_getLabelCapacity(t){const i=this.options.time,r=i.displayFormats,s=r[i.unit]||r.millisecond,o=this._tickFormatFunction(t,0,hE(this,[t],this._majorUnit),s),a=this._getLabelSize(o),l=Math.floor(this.isHorizontal()?this.width/a.w:this.height/a.h)-1;return l>0?l:1}getDataTimestamps(){let i,r,t=this._cache.data||[];if(t.length)return t;const s=this.getMatchingVisibleMetas();if(this._normalized&&s.length)return this._cache.data=s[0].controller.getAllParsedValues(this);for(i=0,r=s.length;i<r;++i)t=t.concat(s[i].controller.getAllParsedValues(this));return this._cache.data=this.normalize(t)}getLabelTimestamps(){const t=this._cache.labels||[];let i,r;if(t.length)return t;const s=this.getLabels();for(i=0,r=s.length;i<r;++i)t.push(cE(this,s[i]));return this._cache.labels=this._normalized?t:this.normalize(t)}normalize(t){return Iw(t.sort(a3))}}return n.id="time",n.defaults={bounds:"data",adapters:{},time:{parser:!1,unit:!1,round:!1,isoWeekday:!1,minUnit:"millisecond",displayFormats:{}},ticks:{source:"auto",major:{enabled:!1}}},n})();function Xc(n,e,t){let s,o,a,l,i=0,r=n.length-1;t?(e>=n[i].pos&&e<=n[r].pos&&({lo:i,hi:r}=pi(n,"pos",e)),({pos:s,time:a}=n[i]),({pos:o,time:l}=n[r])):(e>=n[i].time&&e<=n[r].time&&({lo:i,hi:r}=pi(n,"time",e)),({time:s,pos:a}=n[i]),({time:o,pos:l}=n[r]));const c=o-s;return c?a+(l-a)*(e-s)/c:a}class Hp extends jp{constructor(e){super(e),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const e=this._getTimestampsForTable(),t=this._table=this.buildLookupTable(e);this._minPos=Xc(t,this.min),this._tableRange=Xc(t,this.max)-this._minPos,super.initOffsets(e)}buildLookupTable(e){const{min:t,max:i}=this,r=[],s=[];let o,a,l,c,u;for(o=0,a=e.length;o<a;++o)c=e[o],c>=t&&c<=i&&r.push(c);if(r.length<2)return[{time:t,pos:0},{time:i,pos:1}];for(o=0,a=r.length;o<a;++o)u=r[o+1],l=r[o-1],c=r[o],Math.round((u+l)/2)!==c&&s.push({time:c,pos:o/(a-1)});return s}_getTimestampsForTable(){let e=this._cache.all||[];if(e.length)return e;const t=this.getDataTimestamps(),i=this.getLabelTimestamps();return e=t.length&&i.length?this.normalize(t.concat(i)):t.length?t:i,e=this._cache.all=e,e}getDecimalForValue(e){return(Xc(this._table,e)-this._minPos)/this._tableRange}getValueForPixel(e){const t=this._offsets,i=this.getDecimalForPixel(e)/t.factor-t.end;return Xc(this._table,i*this._tableRange+this._minPos,!0)}}Hp.id="timeseries",Hp.defaults=jp.defaults;const h3=[Pj,cU,WU,Object.freeze({__proto__:null,CategoryScale:Kc,LinearScale:Lp,LogarithmicScale:Vp,RadialLinearScale:ma,TimeScale:jp,TimeSeriesScale:Hp})];function fE(n,e){const t=V(n)?n:()=>n,i=r=>r.error(t());return new fe(e?r=>e.schedule(i,0,r):i)}class f3 extends Rt{constructor(e,t){super()}schedule(e,t=0){return this}}const Qc={setInterval(...n){const{delegate:e}=Qc;return((null==e?void 0:e.setInterval)||setInterval)(...n)},clearInterval(n){const{delegate:e}=Qc;return((null==e?void 0:e.clearInterval)||clearInterval)(n)},delegate:void 0},pE={now:()=>(pE.delegate||Date).now(),delegate:void 0};class ya{constructor(e,t=ya.now){this.schedulerActionCtor=e,this.now=t}schedule(e,t=0,i){return new this.schedulerActionCtor(this,e).schedule(i,t)}}ya.now=pE.now;const gE=new class extends ya{constructor(e,t=ya.now){super(e,t),this.actions=[],this._active=!1,this._scheduled=void 0}flush(e){const{actions:t}=this;if(this._active)return void t.push(e);let i;this._active=!0;do{if(i=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,i){for(;e=t.shift();)e.unsubscribe();throw i}}}(class extends f3{constructor(e,t){super(e,t),this.scheduler=e,this.work=t,this.pending=!1}schedule(e,t=0){if(this.closed)return this;this.state=e;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this}requestAsyncId(e,t,i=0){return Qc.setInterval(e.flush.bind(e,this),i)}recycleAsyncId(e,t,i=0){if(null!=i&&this.delay===i&&!1===this.pending)return t;Qc.clearInterval(t)}execute(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(e,t);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(e,t){let r,i=!1;try{this.work(e)}catch(s){i=!0,r=s||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),r}unsubscribe(){if(!this.closed){const{id:e,scheduler:t}=this,{actions:i}=t;this.work=this.state=this.scheduler=null,this.pending=!1,_r(i,this),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null,super.unsubscribe()}}}),m3=gE;function mE(n=0,e,t=m3){let i=-1;return null!=e&&(gg(e)?t=e:i=e),new fe(r=>{let s=function(n){return n instanceof Date&&!isNaN(n)}(n)?+n-t.now():n;s<0&&(s=0);let o=0;return t.schedule(function(){r.closed||(r.next(o++),0<=i?this.schedule(void 0,i):r.complete())},s)})}function Jn(n=1/0){let e;e=n&&"object"==typeof n?n:{count:n};const{count:t=1/0,delay:i,resetOnSuccess:r=!1}=e;return t<=0?vi:je((s,o)=>{let l,a=0;const c=()=>{let u=!1;l=s.subscribe(new Ne(o,d=>{r&&(a=0),o.next(d)},void 0,d=>{if(a++<t){const h=()=>{l?(l.unsubscribe(),l=null,c()):u=!0};if(null!=i){const f="number"==typeof i?mE(i):Zt(i(d,a)),p=new Ne(o,()=>{p.unsubscribe(),h()},()=>{o.complete()});f.subscribe(p)}else h()}else o.error(d)})),u&&(l.unsubscribe(),l=null,c())};c()})}let mr=(()=>{class n{constructor(t){this.http=t,this.apiUrl="https://localhost:3000/api"}dbInsert(){return this.http.post(`${this.apiUrl}/db-insert`,"").pipe(Jn(1),st(this.handleError))}dbDelete(){return this.http.delete(`${this.apiUrl}/db-delete`).pipe(Jn(1),st(this.handleError))}signIn(t){return this.http.post(`${this.apiUrl}/sign-in`,t).pipe(Jn(1),st(this.handleError))}signUpUser(t){return this.http.post(`${this.apiUrl}/sign-up-user`,{first_name:t.first_name,last_name:t.last_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}signUpCompany(t){return this.http.post(`${this.apiUrl}/sign-up-company`,{company_name:t.company_name,email:t.email,industry:t.industry,password:t.password}).pipe(Jn(1),st(this.handleError))}decodeToken(){const t=`${this.apiUrl}/token-decode`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}getToken(){const t=localStorage.getItem("jobhub_token");return null===t?"":t}autofindJob(){const t=`${this.apiUrl}/joboffers/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}autofindCV(){const t=`${this.apiUrl}/cvs/autofind`,i=(new Tt).append("authorization",this.getToken());return this.http.get(t,{headers:i}).pipe(Jn(1),st(this.handleError))}sendResult(t,i){const r=`${this.apiUrl}/results`,s=(new Tt).append("authorization",this.getToken());return this.http.post(r,{result:t,shown_id:i},{headers:s}).pipe(Jn(0),st(this.handleError))}handleError(t){return fE(()=>`Error '${t.status}' with description:'${t.error.message||t.statusText}'`)}getJoke(){const t=new Tt;return this.http.get("https://api.jokes.one/jod",{headers:t}).pipe(Jn(1),st(this.handleError))}}return n.\u0275fac=function(t){return new(t||n)(P(WC))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),_3=(()=>{class n{constructor(t,i){this.router=t,this.jobhubDataService=i}saveToken(t){const i=JSON.parse(t);localStorage.setItem("jobhub_token","Bearer "+i.access_token)}checkIfSignedIn(){if(localStorage.getItem("jobhub_token")){const t=this.router;this.jobhubDataService.decodeToken().subscribe({next(i){const r=JSON.parse(JSON.stringify(i));"USER"===r.user_role?t.navigateByUrl("user-main"):"COMPANY"===r.user_role&&t.navigateByUrl("company-main")}})}}}return n.\u0275fac=function(t){return new(t||n)(P(Pt),P(mr))},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const v3=["addListener","removeListener"],b3=["addEventListener","removeEventListener"],C3=["on","off"];function Is(n,e,t,i){if(V(t)&&(i=t,t=void 0),i)return Is(n,e,t).pipe(pf(i));const[r,s]=function(n){return V(n.addEventListener)&&V(n.removeEventListener)}(n)?b3.map(o=>a=>n[o](e,a,t)):function(n){return V(n.addListener)&&V(n.removeListener)}(n)?v3.map(yE(n,e)):function(n){return V(n.on)&&V(n.off)}(n)?C3.map(yE(n,e)):[];if(!r&&cu(n))return He(o=>Is(o,e,t))(Zt(n));if(!r)throw new TypeError("Invalid event target");return new fe(o=>{const a=(...l)=>o.next(1<l.length?l:l[0]);return r(a),()=>s(a)})}function yE(n,e){return t=>i=>n[t](e,i)}let E3=(()=>{class n{constructor(){this.isConnected=!1,Ea(Is(window,"offline").pipe(Z(()=>!1)),Is(window,"online").pipe(Z(()=>!0)),new fe(t=>{t.next(navigator.onLine),t.complete()})).subscribe(t=>this.isConnected=t)}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275prov=B({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();gr.register(...h3);const M3=[{path:"",component:(()=>{class n{constructor(t,i,r){this.jobhubDataService=t,this.signInService=i,this.connectinService=r,this.signInData={email:"",password:""},this.joke=""}onSignIn(){const t=this.signInService;this.jobhubDataService.signIn(this.signInData).subscribe({next(i){t.saveToken(JSON.stringify(i)),t.checkIfSignedIn()}})}isConnected(){return this.connectinService.isConnected}ngOnInit(){this.signInService.checkIfSignedIn(),this.jobhubDataService.getJoke().subscribe(o=>{this.joke=o.contents.jokes[0].joke.text}),console.log(this.joke),new gr("jobChart",{type:"bar",data:{labels:["Full Stack Web Developer","Back End Web Developer","Front End Web Developer","Other","Desktop Developer","Team Leader","Chief Technology Officer","Mobile Developer","Project Manager","DevOps","Embedded Developer","Machine Learning Specialist","Consultant","System Administrator","Developer","System Integrator","Data Administrator","UI/UX Developer","Game Developer"],datasets:[{label:"jobs",data:[364,276,148,87,70,63,50,68,43,42,37,34,31,28,22,21,17,15,14],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("languageChart",{type:"bar",data:{labels:["SQL","JavaScript","HTML/CSS","Python","Java","C#","TypeScript","PHP","Bash","C++","C","Go","Kotlin","Swift","Objective C","Ruby","Perl","Scala"],datasets:[{label:"languages",data:[1053,978,975,613,590,515,464,445,307,261,233,131,94,60,49,38,26,26],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("salaryChart",{type:"bar",data:{labels:["< 1024.25 \u20ac","1024.26 \u20ac - 1499.99 \u20ac","1500.00 \u20ac - 1999.99 \u20ac","2000.00 \u20ac - 2499.99 \u20ac","3000.00 \u20ac - 3499.99 \u20ac","3500.00 \u20ac - 3999.99 \u20ac","4000.00 \u20ac - 4499.99 \u20ac","4500.00 \u20ac - 4999.99 \u20ac","5000.00 \u20ac - 5499.99 \u20ac","5500.00 \u20ac - 6499.99 \u20ac","6500.00 \u20ac - 7499.99 \u20ac","7500.00 \u20ac - 7999.99 \u20ac","8000.00 \u20ac - 8499.99 \u20ac","> 8500.00 \u20ac"],datasets:[{label:"gross salary",data:[14,31,124,203,200,156,96,66,54,23,12,5,5,19],backgroundColor:["#ea2e644d","#16396b4d"],borderColor:["#ea2e64","#16396b"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}}),new gr("ageChart",{type:"bar",data:{labels:["< 18 y.o.","19 y.o. - 25 y.o.","26 y.o. - 30 y.o.","31 y.o. - 40 y.o.","41 y.o. - 50 y.o.","> 50 y.o."],datasets:[{label:"age",data:[3,302,473,532,103,18],backgroundColor:["#16396b4d","#ea2e644d"],borderColor:["#16396b","#ea2e64"],borderWidth:3}]},options:{scales:{y:{beginAtZero:!0,grid:{display:!1}},x:{grid:{display:!1}}}}})}}return n.\u0275fac=function(t){return new(t||n)(x(mr),x(_3),x(E3))},n.\u0275cmp=On({type:n,selectors:[["app-index"]],decls:93,vars:3,consts:[["src","../../../assets/images/background.jpg","alt","background",1,"backgroundImage"],[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","./",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarNav","aria-controls","navbarNav","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarNav",1,"collapse","navbar-collapse","headerCollapseOptions"],[1,"navbar-nav","ms-auto","pt-md-0","ps-md-0","pb-md-0","pt-3","pb-3","ps-3"],[1,"nav-item"],["aria-current","page","href","./sign-in",1,"nav-link"],[1,"headerOptions"],["href","./sign-up",1,"nav-link"],["type","button","data-bs-toggle","modal","data-bs-target","#exampleModal",1,"nav-link",2,"background","none","border","none"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-lg-5","heading","align-content-center","pt-lg-5"],[1,"col-12","col-lg-7","align-content-center","mt-3","pt-3","pb-3"],[1,"text-center"],["method","POST","action","/sign-in"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","id","indexInputEmail","name","email","required","",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","indexInputPassword1",1,"form-label"],["type","password","id","indexInputPassword1","name","password","required","",1,"form-control",3,"ngModel","ngModelChange"],["password",""],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","indexOrJoinNow","indexSingUp"],[1,"col-5"],[1,"col-2"],[1,"mt-4"],["href","./sign-up","role","button",1,"submit","btn","btn-primary"],[1,"col-12","pt-3","pt-md-5"],[1,"col-12","col-md-10","col-lg-5","mt-3"],["baseChart","","id","jobChart","width","400","height","300"],["id","languageChart","width","400","height","300"],["id","salaryChart","width","400","height","300"],["id","ageChart","width","400","height","300"],["id","exampleModal","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog"],[1,"modal-content"],[1,"modal-header"],["id","exampleModalLabel",1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[2,"font-size","115%"],[2,"font-size","125%"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary",2,"width","auto","height","auto","background","#ea2e64","border","1px solid #ea2e64"],["href","mailto:vid.slovenia7@gmail.com","type","button",1,"submit","btn","btn-primary",2,"width","auto","height","auto"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),Q(1,"img",0),m(2,"header"),m(3,"nav",1),m(4,"div",2),m(5,"a",3),m(6,"span",4),Q(7,"img",5),y(),y(),m(8,"button",6),Q(9,"span",7),y(),m(10,"div",8),m(11,"ul",9),m(12,"li",10),m(13,"a",11),m(14,"span",12),S(15,"Sign in"),y(),y(),y(),m(16,"li",10),m(17,"a",13),m(18,"span",12),S(19,"Sign up"),y(),y(),y(),m(20,"li",10),m(21,"button",14),m(22,"span",12),S(23,"Contact"),y(),y(),y(),y(),y(),y(),y(),y(),m(24,"div",15),m(25,"div",16),m(26,"div",17),m(27,"p"),S(28,"a simple swipe to "),m(29,"b"),S(30,"get a job"),y(),S(31,"."),y(),y(),m(32,"div",18),m(33,"div",19),m(34,"form",20),m(35,"div",21),m(36,"label",22),S(37,"Email"),y(),m(38,"input",23,24),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(40,"div",21),m(41,"label",25),S(42,"Password"),y(),m(43,"input",26,27),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(45,"div",28),m(46,"button",29),q("click",function(){return i.onSignIn()}),S(47," Sign in "),y(),y(),y(),y(),m(48,"div",30),m(49,"div",16),m(50,"div",31),Q(51,"hr"),y(),m(52,"div",32),S(53,"or"),y(),m(54,"div",31),Q(55,"hr"),y(),y(),y(),m(56,"div",30),m(57,"div",33),m(58,"a",34),S(59,"Sign up"),y(),y(),y(),y(),m(60,"div",35),m(61,"div",16),m(62,"div",36),Q(63,"canvas",37),y(),m(64,"div",36),Q(65,"canvas",38),y(),m(66,"div",36),Q(67,"canvas",39),y(),m(68,"div",36),Q(69,"canvas",40),y(),y(),y(),y(),y(),m(70,"div",16),m(71,"div",41),m(72,"div",42),m(73,"div",43),m(74,"div",44),m(75,"h5",45),S(76," We are hiring. Contact us! "),y(),Q(77,"button",46),y(),m(78,"div",47),m(79,"div",48),S(80,"Joke of the day"),y(),m(81,"div",49),S(82),y(),y(),m(83,"div",50),m(84,"button",51),S(85," Close "),y(),m(86,"a",52),S(87,"Send message"),y(),y(),y(),y(),y(),y(),m(88,"footer"),m(89,"a",53),m(90,"span",54),Q(91,"img",5),y(),y(),S(92," \xa92021 "),y(),y()),2&t&&(re(38),Ze("ngModel",i.signInData.email),re(5),Ze("ngModel",i.signInData.password),re(39),Wt(i.joke))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["body[_ngcontent-%COMP%]{overflow-x:hidden}form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:420px}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.content-container[_ngcontent-%COMP%]{min-height:1321px!important}.backgroundImage[_ngcontent-%COMP%]{position:absolute;right:42px;top:100px;z-index:-1}.heading[_ngcontent-%COMP%]{font-size:350%;text-align:right;color:var(--primaryColor)}.heading[_ngcontent-%COMP%]   b[_ngcontent-%COMP%]{color:var(--secondaryColor)}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{margin:auto;padding-top:50px;width:80%}@media handheld and (max-width: 1370px),screen and (max-device-width: 1370px),screen and (max-width: 1370px){body[_ngcontent-%COMP%]{position:relative}.backgroundImage[_ngcontent-%COMP%]{right:-170px;top:100px}}@media handheld and (max-width: 1400px),screen and (max-device-width: 1400px),screen and (max-width: 1400px){.heading[_ngcontent-%COMP%]{font-size:325%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{padding-top:15px}}@media handheld and (max-width: 992px),screen and (max-device-width: 992px),screen and (max-width: 992px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{margin:auto}.heading[_ngcontent-%COMP%]{font-size:300%}.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:60%;margin:auto}.heading[_ngcontent-%COMP%]{text-align:center}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){.heading[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{width:90%}.heading[_ngcontent-%COMP%]{width:420px;margin:auto}.backgroundImage[_ngcontent-%COMP%]{right:-170px}}@media handheld and (max-width: 700px),screen and (max-device-width: 700px),screen and (max-width: 700px){.backgroundImage[_ngcontent-%COMP%]{display:none}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .indexOrJoinNow[_ngcontent-%COMP%]{width:85%}}"]}),n})()},{path:"sign-in",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signInData={email:"",password:""}}onSignIn(){this.jobhubDataService.signIn(this.signInData).subscribe(()=>{console.log(this.signInData)})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-in"]],decls:58,vars:2,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3"],["for","indexInputEmail",1,"form-label"],["type","email","name","email","id","indexInputEmail","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signInInputPassword1",1,"form-label"],["type","password","name","password","id","signInInputPassword1","required","",1,"form-control",3,"ngModel","ngModelChange"],[1,"mb-4"],["type","submit","id","cfa-signin",1,"submit","btn","btn-primary",3,"click"],[1,"text-center","signInOr"],[1,"col-5"],[1,"col-2"],[1,"text-center","signInJoinWith"],[1,"mt-4"],["href","#","role","button",1,"joinOther","joinGoogle","btn","btn-primary"],[1,"fab","fa-google","me-3"],[1,"mt-3"],["href","#","role","button",1,"joinOther","joinApple","btn","btn-primary"],[1,"fab","fa-apple","me-3"],[1,"mt-3","mb-4"],["href","#","role","button",1,"joinOther","joinFacebook","btn","btn-primary"],[1,"fab","fa-facebook","me-3"],["href","sign-up","role","button",1,"submit","btn","btn-primary"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"div",8),m(11,"form",9),m(12,"div",10),m(13,"label",11),S(14,"Email"),y(),m(15,"input",12),q("ngModelChange",function(s){return i.signInData.email=s}),y(),y(),m(16,"div",10),m(17,"label",13),S(18,"Password"),y(),m(19,"input",14),q("ngModelChange",function(s){return i.signInData.password=s}),y(),y(),m(20,"div",15),m(21,"button",16),q("click",function(){return i.onSignIn()}),S(22," Sign in "),y(),y(),y(),y(),m(23,"div",17),m(24,"div",6),m(25,"div",18),Q(26,"hr"),y(),m(27,"div",19),S(28,"or"),y(),m(29,"div",18),Q(30,"hr"),y(),y(),y(),m(31,"div",20),m(32,"div",21),m(33,"a",22),Q(34,"i",23),S(35," Join with Google"),y(),y(),m(36,"div",24),m(37,"a",25),Q(38,"i",26),S(39," Join with Apple"),y(),y(),m(40,"div",27),m(41,"a",28),Q(42,"i",29),S(43," Join with Facebook"),y(),y(),y(),m(44,"div",17),Q(45,"hr"),y(),m(46,"div",17),m(47,"div"),m(48,"p"),S(49,"Don't have account? Join now!"),y(),y(),m(50,"div",24),m(51,"a",30),S(52,"Sign up"),y(),y(),y(),y(),y(),y(),m(53,"footer"),m(54,"a",31),m(55,"span",32),Q(56,"img",4),y(),y(),S(57," \xa9 "),y(),y()),2&t&&(re(15),Ze("ngModel",i.signInData.email),re(4),Ze("ngModel",i.signInData.password))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:["form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}.joinGoogle[_ngcontent-%COMP%], .joinApple[_ngcontent-%COMP%], .joinFacebook[_ngcontent-%COMP%]{font-weight:700;width:100%;border:0;height:var(--standardHeight)}.joinGoogle[_ngcontent-%COMP%]{background:transparent!important;border:1px solid var(--borderColor);color:var(--primaryFontColor)}.joinApple[_ngcontent-%COMP%]{background:black!important;color:#fff;border:0}.joinFacebook[_ngcontent-%COMP%]{background:#3b5998!important;color:#fff;border:0}.joinGoogle[_ngcontent-%COMP%]:hover, .joinGoogle[_ngcontent-%COMP%]:active, .joinGoogle[_ngcontent-%COMP%]:focus{background:#e2e2e2!important;border:0;color:var(--primaryFontColor);box-shadow:none!important}.joinApple[_ngcontent-%COMP%]:hover, .joinApple[_ngcontent-%COMP%]:active, .joinApple[_ngcontent-%COMP%]:focus{background:#333!important;box-shadow:none!important;color:#fff}.joinFacebook[_ngcontent-%COMP%]:hover, .joinFacebook[_ngcontent-%COMP%]:active, .joinFacebook[_ngcontent-%COMP%]:focus{background:#3a61b3!important;box-shadow:none!important;color:#fff}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"sign-up",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.signUpDataUser={first_name:"",last_name:"",email:"",industry:"",password:"",confirm_password:""},this.signUpDataCompany={company_name:"",email:"",industry:"",password:"",confirm_password:""}}onSignUpUser(){this.jobhubDataService.signUpUser(this.signUpDataUser).subscribe(()=>{console.log(this.signUpDataUser)})}onSignUpCompany(){this.jobhubDataService.signUpCompany(this.signUpDataCompany).subscribe(()=>{console.log(this.signUpDataCompany)})}isDataUser(){return!(this.validateMailUser()&&this.validatePasswordUser())}validateMailUser(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataUser.email)}validatePasswordUser(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataUser.password)||this.signUpDataUser.password!==this.signUpDataUser.confirm_password)}isDataCompany(){return!(this.validateMailCompany()&&this.validatePasswordCompany())}validateMailCompany(){return!!/^\w+([.-]?\w+)@\w+([.-]?\w+)(.\w{2,3})+$/.test(this.signUpDataCompany.email)}validatePasswordCompany(){return!(!/^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$/.test(this.signUpDataCompany.password)||this.signUpDataCompany.password!==this.signUpDataCompany.confirm_password)}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-sign-up"]],decls:89,vars:13,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container-md","container-fluid"],["href","/",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","pe-md-3","pe-xl-5","signUpUser"],[1,"signUpJoinAs"],[1,"text-center"],["method","post","autocomplete","off"],[1,"mb-3","col-12","col-lg-6"],["for","signUpUserInputFirstName",1,"form-label"],["type","text","name","first_name","required","","id","signUpUserInputFirstName",1,"form-control",3,"ngModel","ngModelChange"],["first_name",""],["for","signUpUserInputLastName",1,"form-label"],["type","text","name","last_name","required","","id","signUpUserInputLastName",1,"form-control",3,"ngModel","ngModelChange"],["last_name",""],["for","signUpUserInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpUserInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["email",""],["for","signUpUserInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpUserInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["industry",""],["for","signUpUserInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpUserInputPassword",1,"form-control",3,"ngModel","ngModelChange"],["password",""],["for","signUpUserInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpUserInputConfirmPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["confirm_password",""],[1,"mb-4"],["type","hidden","name","user_role","value","USER"],["type","submit",1,"submit","btn","btn-primary",3,"disabled","click"],[1,"col-12","col-md-6","align-content-center","pt-3","pb-3","ps-md-3","ps-xl-5"],[1,"mb-3","col-12"],["for","signUpCompanyInputName",1,"form-label"],["type","text","name","username","required","","id","signUpCompanyInputName",1,"form-control",3,"ngModel","ngModelChange"],["username",""],["for","signUpCompanyInputEmail",1,"form-label"],["type","email","name","email","required","","id","signUpCompanyInputEmail",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputIndustry",1,"form-label"],["type","text","name","industry","required","","id","signUpCompanyInputIndustry",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputPassword",1,"form-label"],["type","password","name","password","required","","id","signUpCompanyInputPassword","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","signUpCompanyInputConfirmPassword",1,"form-label"],["type","password","name","confirm_password","required","","id","signUpCompanyInputConfirmPassword",1,"form-control",3,"ngModel","ngModelChange"],["type","hidden","name","user_role","value","COMPANY"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),y(),y(),y(),m(7,"div",5),m(8,"div",6),m(9,"div",7),m(10,"p",8),S(11,"Join as User"),y(),m(12,"div",9),m(13,"form",10),m(14,"div",6),m(15,"div",11),m(16,"label",12),S(17,"First name"),y(),m(18,"input",13,14),q("ngModelChange",function(s){return i.signUpDataUser.first_name=s}),y(),y(),m(20,"div",11),m(21,"label",15),S(22,"Last name"),y(),m(23,"input",16,17),q("ngModelChange",function(s){return i.signUpDataUser.last_name=s}),y(),y(),m(25,"div",11),m(26,"label",18),S(27,"Email"),y(),m(28,"input",19,20),q("ngModelChange",function(s){return i.signUpDataUser.email=s}),y(),y(),m(30,"div",11),m(31,"label",21),S(32,"Industry"),y(),m(33,"input",22,23),q("ngModelChange",function(s){return i.signUpDataUser.industry=s}),y(),y(),m(35,"div",11),m(36,"label",24),S(37,"Password"),y(),m(38,"input",25,26),q("ngModelChange",function(s){return i.signUpDataUser.password=s}),y(),y(),m(40,"div",11),m(41,"label",27),S(42,"Confirm password"),y(),m(43,"input",28,29),q("ngModelChange",function(s){return i.signUpDataUser.confirm_password=s}),y(),y(),m(45,"div",30),Q(46,"input",31),m(47,"button",32),q("click",function(){return i.onSignUpUser()}),S(48," Sign up as User "),y(),y(),y(),y(),y(),y(),m(49,"div",33),m(50,"p",8),S(51,"Join as Company"),y(),m(52,"div",9),m(53,"form",10),m(54,"div",6),m(55,"div",34),m(56,"label",35),S(57,"Name"),y(),m(58,"input",36,37),q("ngModelChange",function(s){return i.signUpDataCompany.company_name=s}),y(),y(),m(60,"div",11),m(61,"label",38),S(62,"Email"),y(),m(63,"input",39,20),q("ngModelChange",function(s){return i.signUpDataCompany.email=s}),y(),y(),m(65,"div",11),m(66,"label",40),S(67,"Industry"),y(),m(68,"input",41,23),q("ngModelChange",function(s){return i.signUpDataCompany.industry=s}),y(),y(),m(70,"div",11),m(71,"label",42),S(72,"Password"),y(),m(73,"input",43,26),q("ngModelChange",function(s){return i.signUpDataCompany.password=s}),y(),y(),m(75,"div",11),m(76,"label",44),S(77,"Confirm password"),y(),m(78,"input",45,29),q("ngModelChange",function(s){return i.signUpDataCompany.confirm_password=s}),y(),y(),m(80,"div",30),Q(81,"input",46),m(82,"button",32),q("click",function(){return i.onSignUpCompany()}),S(83," Sign up as Company "),y(),y(),y(),y(),y(),y(),y(),y(),m(84,"footer"),m(85,"a",47),m(86,"span",48),Q(87,"img",4),y(),y(),S(88," \xa92021 "),y(),y()),2&t&&(re(18),Ze("ngModel",i.signUpDataUser.first_name),re(5),Ze("ngModel",i.signUpDataUser.last_name),re(5),Ze("ngModel",i.signUpDataUser.email),re(5),Ze("ngModel",i.signUpDataUser.industry),re(5),Ze("ngModel",i.signUpDataUser.password),re(5),Ze("ngModel",i.signUpDataUser.confirm_password),re(4),Ze("disabled",i.isDataUser()),re(11),Ze("ngModel",i.signUpDataCompany.company_name),re(5),Ze("ngModel",i.signUpDataCompany.email),re(5),Ze("ngModel",i.signUpDataCompany.industry),re(5),Ze("ngModel",i.signUpDataCompany.password),re(5),Ze("ngModel",i.signUpDataCompany.confirm_password),re(4),Ze("disabled",i.isDataCompany()))},directives:[Fo,Io,tr,ms,_s,Gl,Ro],styles:[".submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:42%;border:0;height:var(--standardHeight);height:100%}.signUpUser[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.signUpJoinAs[_ngcontent-%COMP%]{text-align:center;font-size:150%;margin-bottom:5%}@media handheld and (max-width: 768px),screen and (max-device-width: 768px),screen and (max-width: 768px){form[_ngcontent-%COMP%]{width:420px;margin:auto}.signUpUser[_ngcontent-%COMP%]{border-right:0}}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%]{width:80%}}"]}),n})()},{path:"user-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownOfferId="0",this.company="",this.email="",this.phone="",this.country="",this.title="",this.description="",this.expectations="",this.other=""}ngOnInit(){this.getJobOffer()}onSignOut(){localStorage.clear()}getJobOffer(){let t=this;this.jobhubDataService.autofindJob().subscribe({next(i){t.company="",t.email="",t.phone="",t.country="",t.title="",t.description="",t.expectations="",t.other="",void 0===i.offer_id?(t.shownOfferId="0",t.showFail()):(t.unfail(),t.shownOfferId=i.offer_id,t.title=i.title,t.description=i.description,t.expectations=i.expectations,t.other=i.other,t.company=i.username,t.email=i.email,t.phone=i.phone_number,t.country=i.country)}})}showFail(){let t=document.getElementById("fail");null!==t&&(t.style.display="block"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="none"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="none"),t=document.getElementById("title-other"),null!==t&&(t.style.display="none")}unfail(){let t=document.getElementById("fail");null!==t&&(t.style.display="none"),t=document.getElementById("title-desc"),null!==t&&(t.style.display="block"),t=document.getElementById("title-expectations"),null!==t&&(t.style.display="block"),t=document.getElementById("title-other"),null!==t&&(t.style.display="block")}postResult(t){this.jobhubDataService.sendResult(t,this.shownOfferId).subscribe({next(r){console.log(r)}})}onAccept(){"0"!==this.shownOfferId&&this.postResult(1),this.getJobOffer()}onDecline(){"0"!==this.shownOfferId&&this.postResult(0),this.getJobOffer()}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-user-main"]],decls:76,vars:8,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./user-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./resume-preview","aria-current","page",1,"nav-link"],["href","./user-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],[1,"job-description","col-md-6"],["id","title-desc"],["id","description"],["id","title-expectations"],["id","expectations"],["id","title-other"],["id","other"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./user-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit resume"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Company name"),y(),m(34,"h4"),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Email"),y(),m(39,"h4"),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Phone number"),y(),m(44,"h4"),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Country"),y(),m(49,"h4"),S(50),y(),y(),y(),m(51,"div",22),m(52,"h5"),S(53),y(),m(54,"p",23),S(55,"Description"),y(),m(56,"p",24),S(57),y(),m(58,"p",25),S(59,"Expectations"),y(),m(60,"p",26),S(61),y(),m(62,"p",27),S(63,"Other"),y(),m(64,"p",28),S(65),y(),m(66,"p",29),S(67,"No more job offers to show!"),y(),y(),y(),y(),y(),m(68,"div",15),m(69,"button",16),q("click",function(){return i.onAccept()}),Q(70,"i",30),y(),y(),y(),y(),m(71,"footer"),m(72,"a",31),m(73,"span",32),Q(74,"img",4),y(),y(),S(75," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.company),re(5),Wt(i.email),re(5),Wt(i.phone),re(5),Wt(i.country),re(3),Wt(i.title),re(4),$n(" ",i.description," "),re(4),$n(" ",i.expectations," "),re(4),$n(" ",i.other," "))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.job-description[_ngcontent-%COMP%]{padding:2em;height:100%;overflow:auto}.job-description[_ngcontent-%COMP%] > h4[_ngcontent-%COMP%]{text-align:center;margin-bottom:1em}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.poster-contact[_ngcontent-%COMP%]{padding-top:40px}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"company-main",component:(()=>{class n{constructor(t){this.jobhubDataService=t,this.shownCvId="0",this.name="",this.gender="",this.email="",this.phone="",this.about="",this.expirience="",this.projects="",this.skills="",this.education=""}ngOnInit(){this.getCV()}onSignOut(){localStorage.clear()}getCV(){let t=this;this.jobhubDataService.autofindCV().subscribe({next(i){if(t.name="",t.gender="",t.email="",t.phone="",t.about="",void 0===i.cv_id)t.shownCvId="0",t.showFail();else{t.unFail(),t.shownCvId=i.cv_id,t.name=i.first_name+" "+i.last_name,t.gender=t.upperCaseFirstLetter(i.gender.key.toLowerCase()),t.email=i.email,t.phone=i.phone_number,t.about=i.about;let r=!0;t.expirience="",i.experience.forEach(s=>{r||(t.expirience+=","),t.expirience+=" "+s.company,r=!1}),r=!0,t.projects="",i.projects.forEach(s=>{r||(t.projects+=","),t.projects+=" "+s.name,r=!1}),r=!0,t.skills="",i.skills.forEach(s=>{r||(t.skills+=","),t.skills+=" "+s.name,r=!1}),r=!0,t.education="",i.education.forEach(s=>{r||(t.education+=","),t.education+=" "+s.description,r=!1})}}})}showFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="none"),t=document.getElementById("projects"),null!==t&&(t.style.display="none"),t=document.getElementById("skills"),null!==t&&(t.style.display="none"),t=document.getElementById("education"),null!==t&&(t.style.display="none"),t=document.getElementById("fail"),null!==t&&(t.style.display="block")}unFail(){let t=document.getElementById("experience");null!==t&&(t.style.display="block"),t=document.getElementById("projects"),null!==t&&(t.style.display="block"),t=document.getElementById("skills"),null!==t&&(t.style.display="block"),t=document.getElementById("education"),null!==t&&(t.style.display="block"),t=document.getElementById("fail"),null!==t&&(t.style.display="none")}postResult(t){this.jobhubDataService.sendResult(t,this.shownCvId).subscribe({next(i){console.log(i)}})}onAccept(){console.log(this.shownCvId),"0"!==this.shownCvId&&this.postResult(1),this.getCV()}onDecline(){"0"!==this.shownCvId&&this.postResult(0),this.getCV()}upperCaseFirstLetter(t){return t.charAt(0).toUpperCase()+t.slice(1)}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-company-main"]],decls:72,vars:9,consts:[[1,"navbar","navbar-expand-md","navbar-light"],[1,"container"],["href","./company-main",1,"navbar-brand"],[1,"logoTitleHeader"],["src","../../../assets/images/logo.svg","alt","logo"],["type","button","data-bs-toggle","collapse","data-bs-target","#navbarSupportedContent","aria-controls","navbarSupportedContent","aria-expanded","false","aria-label","Toggle navigation",1,"navbar-toggler"],[1,"navbar-toggler-icon"],["id","navbarSupportedContent",1,"collapse","navbar-collapse"],[1,"navbar-nav","ms-auto"],[1,"nav-item","ms-3","mb-2","mb-lg-0"],["href","./job-preview","aria-current","page",1,"nav-link"],["href","./company-profile","aria-current","page",1,"nav-link"],["href","./",1,"signOut","btn","btn-primary",3,"click"],[1,"container","main-container-outer"],[1,"row","main-container"],[1,"side-window","col-md-1"],[1,"main-button",3,"click"],[1,"fas","fa-times-circle","fa-3x"],[1,"central-window","col-md-10"],[1,"fluid-container","full-height"],[1,"row","full-height"],[1,"poster-contact","col-md-6"],["id","name"],["id","gender"],["id","email"],["id","phone"],[1,"cv-text","col-md-6"],["id","about"],["id","experience"],["id","projects"],["id","skills"],["id","education"],["id","fail",2,"display","none"],[1,"fas","fa-check-circle","fa-3x"],["href","./company-main"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"header"),m(2,"nav",0),m(3,"div",1),m(4,"a",2),m(5,"span",3),Q(6,"img",4),y(),y(),m(7,"button",5),Q(8,"span",6),y(),m(9,"div",7),m(10,"ul",8),m(11,"li",9),m(12,"a",10),m(13,"b"),S(14,"Edit job offers"),y(),y(),y(),m(15,"li",9),m(16,"a",11),m(17,"b"),S(18,"Profile"),y(),y(),y(),m(19,"li",9),m(20,"a",12),q("click",function(){return i.onSignOut()}),S(21,"Sign Out"),y(),y(),y(),y(),y(),y(),y(),m(22,"div",13),m(23,"div",14),m(24,"div",15),m(25,"button",16),q("click",function(){return i.onDecline()}),Q(26,"i",17),y(),y(),m(27,"div",18),m(28,"div",19),m(29,"div",20),m(30,"div",21),m(31,"div"),m(32,"p"),S(33,"Name"),y(),m(34,"h4",22),S(35),y(),y(),m(36,"div"),m(37,"p"),S(38,"Gender"),y(),m(39,"h4",23),S(40),y(),y(),m(41,"div"),m(42,"p"),S(43,"Email"),y(),m(44,"h4",24),S(45),y(),y(),m(46,"div"),m(47,"p"),S(48,"Phone number"),y(),m(49,"h4",25),S(50),y(),y(),y(),m(51,"div",26),m(52,"p",27),S(53),y(),m(54,"p",28),S(55),y(),m(56,"p",29),S(57),y(),m(58,"p",30),S(59),y(),m(60,"p",31),S(61),y(),m(62,"p",32),S(63,"No more resumes to show!"),y(),y(),y(),y(),y(),m(64,"div",15),m(65,"button",16),q("click",function(){return i.onAccept()}),Q(66,"i",33),y(),y(),y(),y(),m(67,"footer"),m(68,"a",34),m(69,"span",35),Q(70,"img",4),y(),y(),S(71," \xa92021 "),y(),y()),2&t&&(re(35),Wt(i.name),re(5),Wt(i.gender),re(5),Wt(i.email),re(5),Wt(i.phone),re(3),Wt(i.about),re(2),$n("Expirience: ",i.expirience,""),re(2),$n("Projects: ",i.projects,""),re(2),$n("Skills: ",i.skills,""),re(2),$n("Education: ",i.education,""))},styles:[".signOut[_ngcontent-%COMP%]{background:var(--primaryColor)!important;border:0;height:var(--standardHeight)}.central-window[_ngcontent-%COMP%]{background-color:#fff;border:1px solid var(--borderColor);border-right:0;border-left:0;height:var(--cardSize)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border-right:1px solid var(--borderColor)}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:last-child{border-right:unset}.side-window[_ngcontent-%COMP%]{height:var(--cardSize);border:1px solid var(--borderColor);display:flex;flex-direction:column;justify-content:center;align-items:center}.side-window[_ngcontent-%COMP%]:first-child{border-radius:var(--borderRadius) 0 0 var(--borderRadius)}.side-window[_ngcontent-%COMP%]:last-child{border-radius:0 var(--borderRadius) var(--borderRadius) 0}.poster-contact[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;height:100%;text-align:center}.full-height[_ngcontent-%COMP%]{height:100%}.cv-text[_ngcontent-%COMP%]{padding:60px 0 2em 2em;height:100%;overflow:auto}.main-container-outer[_ngcontent-%COMP%]{position:relative;margin-top:40px}.main-button[_ngcontent-%COMP%]{outline:none;border:0;background:inherit}@media (max-width: 767px){.side-window[_ngcontent-%COMP%]{display:none}.central-window[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]{border:unset}footer[_ngcontent-%COMP%]{display:none!important}}@media handheld and (max-width: 767px),screen and (max-device-width: 767px),screen and (max-width: 767px){.chat-app[_ngcontent-%COMP%]{width:90%}.navbar-collapse[_ngcontent-%COMP%]{background-color:var(--backgroundColor);text-align:right;z-index:10;border:1px solid var(--borderColor);border-radius:5px}.navbar-nav[_ngcontent-%COMP%]{margin:20px}.navbar-nav[_ngcontent-%COMP%]   .nav-item[_ngcontent-%COMP%]{margin:0 10px 10px}}"]}),n})()},{path:"db",component:(()=>{class n{constructor(t){this.jobhubDataService=t}insert(){this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database populated")})}delete(){this.jobhubDataService.dbDelete().subscribe(()=>{alert("Database cleaned")})}reset(){this.jobhubDataService.dbDelete().subscribe(()=>{}),this.jobhubDataService.dbInsert().subscribe(()=>{alert("Database reset")})}ngOnInit(){}}return n.\u0275fac=function(t){return new(t||n)(x(mr))},n.\u0275cmp=On({type:n,selectors:[["app-db"]],decls:24,vars:0,consts:[[1,"adminSignIn"],["src","../../../assets/images/logo.svg","alt","logo"],[1,"container-md","container-fluid","content-container"],[1,"row"],[1,"col-12","align-content-center","pt-3","pb-3"],[1,"text-center"],["method","post","autocomplete","off","action","/db-insert"],[1,"mb-4"],["type","submit",1,"submit","btn","btn-primary",3,"click"],["method","post","autocomplete","off","action","/db-delete"],["method","post","autocomplete","off","action","/db-reset"],["href","./"],[1,"logoTitleFooter"]],template:function(t,i){1&t&&(m(0,"div"),m(1,"div",0),Q(2,"img",1),y(),m(3,"div",2),m(4,"div",3),m(5,"div",4),m(6,"div",5),m(7,"form",6),m(8,"div",7),m(9,"button",8),q("click",function(){return i.insert()}),S(10," Insert Data "),y(),y(),y(),m(11,"form",9),m(12,"div",7),m(13,"button",8),q("click",function(){return i.delete()}),S(14," Erase Data "),y(),y(),y(),m(15,"form",10),m(16,"div",7),m(17,"button",8),q("click",function(){return i.reset()}),S(18," Reset Data "),y(),y(),y(),y(),y(),y(),y(),m(19,"footer"),m(20,"a",11),m(21,"span",12),Q(22,"img",1),y(),y(),S(23," \xa92021 "),y(),y())},directives:[Fo,Io,tr],styles:[".content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 150px - 125px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{display:block;margin:150px auto 0;height:125px}form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:420px;margin:auto}.submit[_ngcontent-%COMP%]{background:var(--primaryColor)!important;width:50%;border:0;height:var(--standardHeight);height:100%}@media handheld and (max-width: 576px),screen and (max-device-width: 576px),screen and (max-width: 576px){form[_ngcontent-%COMP%], .signInOr[_ngcontent-%COMP%], .signInJoinWith[_ngcontent-%COMP%]{width:80%}.content-container[_ngcontent-%COMP%]{min-height:calc(100vh - 100px - 100px - var(--footerHeight) - 20px)!important}.adminSignIn[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{height:100px;margin-top:100px}}"]}),n})()}];let S3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({imports:[[Q0.forRoot(M3,{enableTracing:!0})],Q0]}),n})(),A3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=On({type:n,selectors:[["app-wrapper"]],decls:1,vars:0,template:function(t,i){1&t&&Q(0,"router-outlet")},directives:[qf],styles:[""]}),n})();const ji=new fe(vr),T3={connector:()=>new Jt};function _E(n,e=T3){const{connector:t}=e;return je((i,r)=>{const s=t();Ye(n(function(n){return new fe(e=>n.subscribe(e))}(s))).subscribe(r),r.add(i.subscribe(s))})}function vE(n,e){return e?t=>No(e.pipe(Xt(1),je((n,e)=>{n.subscribe(new Ne(e,vr))})),t.pipe(vE(n))):He((t,i)=>n(t,i).pipe(Xt(1),function(n){return Z(()=>n)}(t)))}const _a="Service workers are disabled or not supported by this browser";class eu{constructor(e){if(this.serviceWorker=e,e){const i=Is(e,"controllerchange").pipe(Z(()=>e.controller)),s=No(ic(()=>j(e.controller)),i);this.worker=s.pipe(Yt(u=>!!u)),this.registration=this.worker.pipe(Sn(()=>e.getRegistration()));const c=Is(e,"message").pipe(Z(u=>u.data)).pipe(Yt(u=>u&&u.type)).pipe(function(n){return n?e=>_E(n)(e):e=>function(n,e){const t=V(n)?n:()=>n;return V(e)?_E(e,{connector:t}):i=>new XD(i,t)}(new Jt)(e)}());c.connect(),this.events=c}else this.worker=this.events=this.registration=(_a,ic(()=>fE(new Error("Service workers are disabled or not supported by this browser"))))}postMessage(e,t){return this.worker.pipe(Xt(1),Ot(i=>{i.postMessage(Object.assign({action:e},t))})).toPromise().then(()=>{})}postMessageWithOperation(e,t,i){const r=this.waitForOperationCompleted(i),s=this.postMessage(e,t);return Promise.all([s,r]).then(([,o])=>o)}generateNonce(){return Math.round(1e7*Math.random())}eventsOfType(e){let t;return t="string"==typeof e?i=>i.type===e:i=>e.includes(i.type),this.events.pipe(Yt(t))}nextEventOfType(e){return this.eventsOfType(e).pipe(Xt(1))}waitForOperationCompleted(e){return this.eventsOfType("OPERATION_COMPLETED").pipe(Yt(t=>t.nonce===e),Xt(1),Z(t=>{if(void 0!==t.result)return t.result;throw new Error(t.error)})).toPromise()}get isEnabled(){return!!this.serviceWorker}}let L3=(()=>{class n{constructor(t){if(this.sw=t,this.subscriptionChanges=new Jt,!t.isEnabled)return this.messages=ji,this.notificationClicks=ji,void(this.subscription=ji);this.messages=this.sw.eventsOfType("PUSH").pipe(Z(r=>r.data)),this.notificationClicks=this.sw.eventsOfType("NOTIFICATION_CLICK").pipe(Z(r=>r.data)),this.pushManager=this.sw.registration.pipe(Z(r=>r.pushManager));const i=this.pushManager.pipe(Sn(r=>r.getSubscription()));this.subscription=Ea(i,this.subscriptionChanges)}get isEnabled(){return this.sw.isEnabled}requestSubscription(t){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const i={userVisibleOnly:!0};let r=this.decodeBase64(t.serverPublicKey.replace(/_/g,"/").replace(/-/g,"+")),s=new Uint8Array(new ArrayBuffer(r.length));for(let o=0;o<r.length;o++)s[o]=r.charCodeAt(o);return i.applicationServerKey=s,this.pushManager.pipe(Sn(o=>o.subscribe(i)),Xt(1)).toPromise().then(o=>(this.subscriptionChanges.next(o),o))}unsubscribe(){return this.sw.isEnabled?this.subscription.pipe(Xt(1),Sn(i=>{if(null===i)throw new Error("Not subscribed to push notifications.");return i.unsubscribe().then(r=>{if(!r)throw new Error("Unsubscribe failed!");this.subscriptionChanges.next(null)})})).toPromise():Promise.reject(new Error(_a))}decodeBase64(t){return atob(t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})(),V3=(()=>{class n{constructor(t){if(this.sw=t,!t.isEnabled)return this.versionUpdates=ji,this.available=ji,this.activated=ji,void(this.unrecoverable=ji);this.versionUpdates=this.sw.eventsOfType(["VERSION_DETECTED","VERSION_INSTALLATION_FAILED","VERSION_READY"]),this.available=this.versionUpdates.pipe(Yt(i=>"VERSION_READY"===i.type),Z(i=>({type:"UPDATE_AVAILABLE",current:i.currentVersion,available:i.latestVersion}))),this.activated=this.sw.eventsOfType("UPDATE_ACTIVATED"),this.unrecoverable=this.sw.eventsOfType("UNRECOVERABLE_STATE")}get isEnabled(){return this.sw.isEnabled}checkForUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("CHECK_FOR_UPDATES",{nonce:t},t)}activateUpdate(){if(!this.sw.isEnabled)return Promise.reject(new Error(_a));const t=this.sw.generateNonce();return this.sw.postMessageWithOperation("ACTIVATE_UPDATE",{nonce:t},t)}}return n.\u0275fac=function(t){return new(t||n)(P(eu))},n.\u0275prov=B({token:n,factory:n.\u0275fac}),n})();class $p{}const bE=new z("NGSW_REGISTER_SCRIPT");function B3(n,e,t,i){return()=>{if(!DC(i)||!("serviceWorker"in navigator)||!1===t.enabled)return;let s;if(navigator.serviceWorker.addEventListener("controllerchange",()=>{null!==navigator.serviceWorker.controller&&navigator.serviceWorker.controller.postMessage({action:"INITIALIZE"})}),"function"==typeof t.registrationStrategy)s=t.registrationStrategy();else{const[a,...l]=(t.registrationStrategy||"registerWhenStable:30000").split(":");switch(a){case"registerImmediately":s=j(null);break;case"registerWithDelay":s=CE(+l[0]||0);break;case"registerWhenStable":s=l[0]?Ea(DE(n),CE(+l[0])):DE(n);break;default:throw new Error(`Unknown ServiceWorker registration strategy: ${t.registrationStrategy}`)}}n.get(ze).runOutsideAngular(()=>s.pipe(Xt(1)).subscribe(()=>navigator.serviceWorker.register(e,{scope:t.scope}).catch(a=>console.error("Service worker registration failed with:",a))))}}function CE(n){return j(null).pipe(function(n,e=gE){const t=mE(n,e);return vE(()=>t)}(n))}function DE(n){return n.get(hs).isStable.pipe(Yt(t=>t))}function j3(n,e){return new eu(DC(e)&&!1!==n.enabled?navigator.serviceWorker:void 0)}let H3=(()=>{class n{static register(t,i={}){return{ngModule:n,providers:[{provide:bE,useValue:t},{provide:$p,useValue:i},{provide:eu,useFactory:j3,deps:[$p,ds]},{provide:bo,useFactory:B3,deps:[rt,bE,$p,ds],multi:!0}]}}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n}),n.\u0275inj=vt({providers:[L3,V3]}),n})();!function(n,e,t){"string"!=typeof e&&(t=e,e=n[T.LocaleId]),e=e.toLowerCase().replace(/_/g,"-"),rs[e]=n,t&&(rs[e][T.ExtraData]=t)}(XF,undefined,undefined);let U3=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=Mt({type:n,bootstrap:[A3]}),n.\u0275inj=vt({providers:[{provide:Il,useValue:"/"}],imports:[[jF,hN,dL,hL,S3,H3.register("ngsw-worker.js",{enabled:false,registrationStrategy:"registerWhenStable:30000"})]]}),n})();VF().bootstrapModule(U3).catch(n=>console.error(n))}},V=>{V(V.s=328)}]);
          Evidence
          dB
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

        2. GET http://localhost:3000/polyfills.2cae65b69551d3ee.js
          Alert tags
          Alert description

          The response appears to contain suspicious comments which may help an attacker. Note: Matches made within script blocks or files are against the entire content not only comments.

          Other info

          The following pattern was used: \bSELECT\b and was detected in the element starting with: ""use strict";(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[429],{435:(we,ue,he)=>{he(583)},583:()=>{!function(e){", see evidence field for the suspicious comment/snippet.

          Request
          Request line and header section (359 bytes)
          GET http://localhost:3000/polyfills.2cae65b69551d3ee.js HTTP/1.1
          Host: localhost:3000
          User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:95.0) Gecko/20100101 Firefox/95.0
          Accept: */*
          Accept-Language: en-US,en;q=0.5
          Connection: keep-alive
          Referer: https://localhost:3000/
          Sec-Fetch-Dest: script
          Sec-Fetch-Mode: cors
          Sec-Fetch-Site: same-origin
          
          
          Request body (0 bytes)
          Response
          Status line and header section (332 bytes)
          HTTP/1.1 200 OK
          X-Powered-By: Express
          Accept-Ranges: bytes
          Cache-Control: public, max-age=0
          Last-Modified: Mon, 10 Jan 2022 02:11:59 GMT
          ETag: W/"90c4-17e41c1addb"
          Content-Type: application/javascript; charset=UTF-8
          Content-Length: 37060
          Date: Mon, 10 Jan 2022 02:28:27 GMT
          Connection: keep-alive
          Keep-Alive: timeout=5
          
          
          Response body (37060 bytes)
          "use strict";(self.webpackChunkJobHub=self.webpackChunkJobHub||[]).push([[429],{435:(we,ue,he)=>{he(583)},583:()=>{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,p){n&&n.measure&&n.measure(I,p)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let _=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"<root>",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,O),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(O,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(q,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,q,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==q&&t._transitionTo(O,q),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,O,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;P<y.length;P++)y[P]._updateTaskCount(t.type,o)}}return I.__symbol__=u,I})();const g={name:"",onHasTask:(I,p,t,o)=>I.hasTask(t,o),onScheduleTask:(I,p,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,p,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,p,t,o)=>I.cancelTask(t,o)};class T{constructor(p,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=p,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=p,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(p,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,p,t):new _(p,t)}intercept(p,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,p,t,o):t}invoke(p,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,p,t,o,y,P):t.apply(o,y)}handleError(p,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,p,t)}scheduleTask(p,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,p,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(p,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,p,t,o,y):t.callback.apply(o,y)}cancelTask(p,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,p,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(p,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,p,t)}catch(o){this.handleError(p,o)}}_updateTaskCount(p,t){const o=this._taskCounts,y=o[p],P=o[p]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:p})}}class m{constructor(p,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=p,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=p===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(p,t,o){p||(p=this),re++;try{return p.runCount++,p.zone.runTask(p,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,q)}_transitionTo(p,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${p}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=p,p==H&&(this._zoneDelegates=null)}toString(){return this.data&&void 0!==this.data.handleId?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const S=u("setTimeout"),D=u("Promise"),Z=u("then");let E,B=[],V=!1;function d(I){if(0===re&&0===B.length)if(E||e[D]&&(E=e[D].resolve(0)),E){let p=E[Z];p||(p=E.then),p.call(E,L)}else e[S](L,0);I&&B.push(I)}function L(){if(!V){for(V=!0;B.length;){const I=B;B=[];for(let p=0;p<I.length;p++){const t=I[p];try{t.zone.runTask(t,null,null)}catch(o){le.onUnhandledError(o)}}}le.microtaskDrainDone(),V=!1}}const z={name:"NO ZONE"},H="notScheduled",q="scheduling",O="scheduled",X="running",A="canceling",Y="unknown",v="microTask",M="macroTask",R="eventTask",K={},le={symbol:u,currentZoneFrame:()=>G,onUnhandledError:F,microtaskDrainDone:F,scheduleMicroTask:d,showUncaughtError:()=>!_[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:F,patchMethod:()=>F,bindArguments:()=>[],patchThen:()=>F,patchMacroTask:()=>F,patchEventPrototype:()=>F,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>F,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>F,wrapWithCurrentZone:()=>F,filterProperties:()=>[],attachOriginToPatched:()=>F,_redefineProperty:()=>F,patchCallbacks:()=>F};let G={parent:null,zone:new _(null,null)},te=null,re=0;function F(){}r("Zone","Zone"),e.Zone=_}("undefined"!=typeof window&&window||"undefined"!=typeof self&&self||global);const ue=Object.getOwnPropertyDescriptor,he=Object.defineProperty,de=Object.getPrototypeOf,Be=Object.create,ut=Array.prototype.slice,Se="addEventListener",Oe="removeEventListener",Ze=Zone.__symbol__(Se),Ie=Zone.__symbol__(Oe),se="true",ie="false",ke=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,Pe="undefined"!=typeof window,pe=Pe?window:void 0,$=Pe&&pe||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&void 0===e.set)}const Ue="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope,Re=!("nw"in $)&&void 0!==$.process&&"[object process]"==={}.toString.call($.process),He=!Re&&!Ue&&!(!Pe||!pe.HTMLElement),We=void 0!==$.process&&"[object process]"==={}.toString.call($.process)&&!Ue&&!(!Pe||!pe.HTMLElement),Ce={},qe=function(e){if(!(e=e||$.event))return;let n=Ce[e.type];n||(n=Ce[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;if(He&&i===pe&&"error"===e.type){const u=e;c=r&&r.call(this,u.message,u.filename,u.lineno,u.colno,u.error),!0===c&&e.preventDefault()}else c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault();return c};function Xe(e,n,i){let r=ue(e,n);if(!r&&i&&ue(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,_=n.substr(2);let g=Ce[_];g||(g=Ce[_]=x("ON_PROPERTY"+_)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(_,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(_,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let S=u&&u.call(this);if(S)return r.set.call(this,S),"function"==typeof T.removeAttribute&&T.removeAttribute(n),S}return null},he(e,n,r),e[c]=!0}function Ye(e,n,i){if(n)for(let r=0;r<n.length;r++)Xe(e,"on"+n[r],i);else{const r=[];for(const c in e)"on"==c.substr(0,2)&&r.push(c);for(let c=0;c<r.length;c++)Xe(e,r[c],i)}}const ne=x("originalInstance");function ve(e){const n=$[e];if(!n)return;$[x(e)]=n,$[e]=function(){const c=Ae(arguments,e);switch(c.length){case 0:this[ne]=new n;break;case 1:this[ne]=new n(c[0]);break;case 2:this[ne]=new n(c[0],c[1]);break;case 3:this[ne]=new n(c[0],c[1],c[2]);break;case 4:this[ne]=new n(c[0],c[1],c[2],c[3]);break;default:throw new Error("Arg list too long.")}},ae($[e],n);const i=new n(function(){});let r;for(r in i)"XMLHttpRequest"===e&&"responseBlob"===r||function(c){"function"==typeof i[c]?$[e].prototype[c]=function(){return this[ne][c].apply(this[ne],arguments)}:he($[e].prototype,c,{set:function(u){"function"==typeof u?(this[ne][c]=Le(u,e+"."+c),ae(this[ne][c],u)):this[ne][c]=u},get:function(){return this[ne][c]}})}(r);for(r in n)"prototype"!==r&&n.hasOwnProperty(r)&&($[e][r]=n[r])}function ce(e,n,i){let r=e;for(;r&&!r.hasOwnProperty(n);)r=de(r);!r&&e[n]&&(r=e);const c=x(n);let u=null;if(r&&(!(u=r[c])||!r.hasOwnProperty(c))&&(u=r[c]=r[n],Fe(r&&ue(r,n)))){const _=i(u,c,n);r[n]=function(){return _(this,arguments)},ae(r[n],u)}return u}function _t(e,n,i){let r=null;function c(u){const f=u.data;return f.args[f.cbIdx]=function(){u.invoke.apply(this,arguments)},r.apply(f.target,f.args),u}r=ce(e,n,u=>function(f,_){const g=i(f,_);return g.cbIdx>=0&&"function"==typeof _[g.cbIdx]?Me(g.name,_[g.cbIdx],g,c):u.apply(f,_)})}function ae(e,n){e[x("OriginalDelegate")]=n}let $e=!1,je=!1;function mt(){if($e)return je;$e=!0;try{const e=pe.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch(e){}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,_=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;_.length;){const l=_.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){Z(s)}}};const D=f("unhandledPromiseRejectionHandler");function Z(l){i.onUnhandledError(l);try{const s=n[D];"function"==typeof s&&s.call(this,l)}catch(s){}}function B(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),q=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(C){return h(()=>{G(l,!1,C)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(C){h(()=>{G(l,!1,C)})()}else{l[d]=s;const C=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[q],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k<C.length;)F(l,C[k++],C[k++],C[k++],C[k++]);if(0==C.length&&s==Y){l[d]=0;let k=a;try{throw new Error("Uncaught (in promise): "+function(l){return l&&l.toString===Object.prototype.toString?(l.constructor&&l.constructor.name||"")+": "+JSON.stringify(l):l?l.toString():Object.prototype.toString.call(l)}(a)+(a&&a.stack?"\n"+a.stack:""))}catch(b){k=b}g&&(k.throwOriginal=!0),k.rejection=a,k.promise=l,k.zone=n.current,k.task=n.currentTask,_.push(k),i.scheduleMicroTask()}}}return l}const te=f("rejectionHandledHandler");function re(l){if(0===l[d]){try{const s=n[te];s&&"function"==typeof s&&s.call(this,{rejection:l[L],promise:l})}catch(s){}l[d]=Y;for(let s=0;s<_.length;s++)l===_[s].promise&&_.splice(s,1)}}function F(l,s,a,h,w){re(l);const C=l[d],k=C?"function"==typeof h?h:V:"function"==typeof w?w:E;s.scheduleMicroTask("Promise.then",()=>{try{const b=l[L],N=!!a&&z===a[z];N&&(a[H]=b,a[q]=C);const j=s.run(k,void 0,N&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const p=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,N)=>{a=b,h=N});function C(b){a(b)}function k(b){h(b)}for(let b of s)B(b)||(b=this.resolve(b)),b.then(C,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,C=new this((j,U)=>{h=j,w=U}),k=2,b=0;const N=[];for(let j of s){B(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{N[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(N)},Q=>{a?(N[U]=a.errorCallback(Q),k--,0===k&&h(N)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(N),C}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(p),C=n.current;return this[d]==X?this[L].push(C,w,s,a):F(this,C,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(p);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):F(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,C){return new t((b,N)=>{h.call(this,b,N)}).then(w,C)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=_,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let me=!1;if("undefined"!=typeof window)try{const e=Object.defineProperty({},"passive",{get:function(){me=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch(e){me=!1}const Et={useG:!0},ee={},Je={},Ke=new RegExp("^"+ke+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Qe(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ke+i,u=ke+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||Se,c=i&&i.rm||Oe,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",_=x(r),g="."+r+":",S=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=q=>z.handleEvent(q),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},D=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}},Z=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][se]];if(L)if(1===L.length)S(L[0],d,E);else{const z=L.slice();for(let H=0;H<z.length&&(!E||!0!==E[xe]);H++)S(z[H],d,E)}};function B(E,d){if(!E)return!1;let L=!0;d&&void 0!==d.useG&&(L=d.useG);const z=d&&d.vh;let H=!0;d&&void 0!==d.chkDup&&(H=d.chkDup);let q=!1;d&&void 0!==d.rt&&(q=d.rt);let O=E;for(;O&&!O.hasOwnProperty(r);)O=de(O);if(!O&&E[r]&&(O=E),!O||O[_])return!1;const X=d&&d.eventNameToString,A={},Y=O[_]=O[r],v=O[x(c)]=O[c],M=O[x(u)]=O[u],R=O[x(f)]=O[f];let K;function le(s,a){return!me&&"object"==typeof s&&s?!!s.capture:me&&a?"boolean"==typeof s?{capture:s,passive:!0}:s?"object"==typeof s&&!1!==s.passive?Object.assign(Object.assign({},s),{passive:!0}):s:{passive:!0}:s}d&&d.prepend&&(K=O[x(d.prepend)]=O[d.prepend]);const p=L?function(s){if(!A.isExisting)return Y.call(A.target,A.eventName,A.capture?Z:D,A.options)}:function(s){return Y.call(A.target,A.eventName,s.invoke,A.options)},t=L?function(s){if(!s.isRemoved){const a=ee[s.eventName];let h;a&&(h=a[s.capture?se:ie]);const w=h&&s.target[h];if(w)for(let C=0;C<w.length;C++)if(w[C]===s){w.splice(C,1),s.isRemoved=!0,0===w.length&&(s.allRemoved=!0,s.target[h]=null);break}}if(s.allRemoved)return v.call(s.target,s.eventName,s.capture?Z:D,s.options)}:function(s){return v.call(s.target,s.eventName,s.invoke,s.options)},y=d&&d.diff?d.diff:function(s,a){const h=typeof a;return"function"===h&&s.callback===a||"object"===h&&s.originalDelegate===a},P=Zone[x("UNPATCHED_EVENTS")],J=e[x("PASSIVE_EVENTS")],l=function(s,a,h,w,C=!1,k=!1){return function(){const b=this||e;let N=arguments[0];d&&d.transferEventName&&(N=d.transferEventName(N));let j=arguments[1];if(!j)return s.apply(this,arguments);if(Re&&"uncaughtException"===N)return s.apply(this,arguments);let U=!1;if("function"!=typeof j){if(!j.handleEvent)return s.apply(this,arguments);U=!0}if(z&&!z(s,j,b,arguments))return;const Q=me&&!!J&&-1!==J.indexOf(N),oe=le(arguments[2],Q);if(P)for(let _e=0;_e<P.length;_e++)if(N===P[_e])return Q?s.call(b,N,j,oe):s.apply(this,arguments);const Ge=!!oe&&("boolean"==typeof oe||oe.capture),st=!(!oe||"object"!=typeof oe)&&oe.once,At=Zone.current;let ze=ee[N];ze||(Qe(N,X),ze=ee[N]);const it=ze[Ge?se:ie];let De,ge=b[it],ct=!1;if(ge){if(ct=!0,H)for(let _e=0;_e<ge.length;_e++)if(y(ge[_e],j))return}else ge=b[it]=[];const at=b.constructor.name,lt=Je[at];lt&&(De=lt[N]),De||(De=at+a+(X?X(N):N)),A.options=oe,st&&(A.options.once=!1),A.target=b,A.capture=Ge,A.eventName=N,A.isExisting=ct;const be=L?Et:void 0;be&&(be.taskData=A);const fe=At.scheduleEventTask(De,j,be,h,w);return A.target=null,be&&(be.taskData=null),st&&(oe.once=!0),!me&&"boolean"==typeof fe.options||(fe.options=oe),fe.target=b,fe.capture=Ge,fe.eventName=N,U&&(fe.originalDelegate=j),k?ge.unshift(fe):ge.push(fe),C?b:void 0}};return O[r]=l(Y,g,p,t,q),K&&(O.prependListener=l(K,".prependListener:",function(s){return K.call(A.target,A.eventName,s.invoke,A.options)},t,q,!0)),O[c]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=arguments[2],w=!!h&&("boolean"==typeof h||h.capture),C=arguments[1];if(!C)return v.apply(this,arguments);if(z&&!z(v,C,s,arguments))return;const k=ee[a];let b;k&&(b=k[w?se:ie]);const N=b&&s[b];if(N)for(let j=0;j<N.length;j++){const U=N[j];if(y(U,C))return N.splice(j,1),U.isRemoved=!0,0===N.length&&(U.allRemoved=!0,s[b]=null,"string"==typeof a)&&(s[ke+"ON_PROPERTY"+a]=null),U.zone.cancelTask(U),q?s:void 0}return v.apply(this,arguments)},O[u]=function(){const s=this||e;let a=arguments[0];d&&d.transferEventName&&(a=d.transferEventName(a));const h=[],w=et(s,X?X(a):a);for(let C=0;C<w.length;C++){const k=w[C];h.push(k.originalDelegate?k.originalDelegate:k.callback)}return h},O[f]=function(){const s=this||e;let a=arguments[0];if(a){d&&d.transferEventName&&(a=d.transferEventName(a));const h=ee[a];if(h){const k=s[h[ie]],b=s[h[se]];if(k){const N=k.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}if(b){const N=b.slice();for(let j=0;j<N.length;j++){const U=N[j];this[c].call(this,a,U.originalDelegate?U.originalDelegate:U.callback,U.options)}}}}else{const h=Object.keys(s);for(let w=0;w<h.length;w++){const k=Ke.exec(h[w]);let b=k&&k[1];b&&"removeListener"!==b&&this[f].call(this,b)}this[f].call(this,"removeListener")}if(q)return this},ae(O[r],Y),ae(O[c],v),R&&ae(O[f],R),M&&ae(O[u],M),!0}let V=[];for(let E=0;E<n.length;E++)V[E]=B(n[E],i);return V}function et(e,n){if(!n){const u=[];for(let f in e){const _=Ke.exec(f);let g=_&&_[1];if(g&&(!n||g===n)){const T=e[f];if(T)for(let m=0;m<T.length;m++)u.push(T[m])}}return u}let i=ee[n];i||(Qe(n),i=ee[n]);const r=e[i[ie]],c=e[i[se]];return r?c?r.concat(c):r.slice():c?c.slice():[]}function yt(e,n){const i=e.Event;i&&i.prototype&&n.patchMethod(i.prototype,"stopImmediatePropagation",r=>function(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(_,g,T){return g&&g.prototype&&c.forEach(function(m){const S=`${i}.${r}::`+m,D=g.prototype;if(D.hasOwnProperty(m)){const Z=e.ObjectGetOwnPropertyDescriptor(D,m);Z&&Z.value?(Z.value=e.wrapWithCurrentZone(Z.value,S),e._redefineProperty(g.prototype,m,Z)):D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}else D[m]&&(D[m]=e.wrapWithCurrentZone(D[m],S))}),f.call(n,_,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],tt=["load"],nt=["blur","error","focus","load","resize","scroll","messageerror"],Dt=["bounce","finish","start"],rt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],Ee=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],St=["close","error","open","message"],Ot=["error","message"],Te=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function ot(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function W(e,n,i,r){e&&Ye(e,ot(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Ye,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=_t;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=he,i.ObjectGetOwnPropertyDescriptor=ue,i.ObjectCreate=Be,i.ArraySlice=ut,i.patchClass=ve,i.wrapWithCurrentZone=Le,i.filterProperties=ot,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:Je,zoneSymbolEventNames:ee,eventNames:Te,isBrowser:He,isMix:We,isNode:Re,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ke,ADD_EVENT_LISTENER_STR:Se,REMOVE_EVENT_LISTENER_STR:Oe})});const Ne=x("zoneTask");function ye(e,n,i,r){let c=null,u=null;i+=r;const f={};function _(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,S){if("function"==typeof S[0]){const D={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?S[1]||0:void 0,args:S},Z=S[0];S[0]=function(){try{return Z.apply(this,arguments)}finally{D.isPeriodic||("number"==typeof D.handleId?delete f[D.handleId]:D.handleId&&(D.handleId[Ne]=null))}};const B=Me(n,S[0],D,_,g);if(!B)return B;const V=B.data.handleId;return"number"==typeof V?f[V]=B:V&&(V[Ne]=B),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(B.ref=V.ref.bind(V),B.unref=V.unref.bind(V)),"number"==typeof V||V?V:B}return T.apply(e,S)}),u=ce(e,i,T=>function(m,S){const D=S[0];let Z;"number"==typeof D?Z=f[D]:(Z=D&&D[Ne],Z||(Z=D)),Z&&"string"==typeof Z.type?"notScheduled"!==Z.state&&(Z.cancelFn&&Z.data.isPeriodic||0===Z.runCount)&&("number"==typeof D?delete f[D]:D&&(D[Ne]=null),Z.zone.cancelTask(Z)):T.apply(e,S)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";ye(e,n,i,"Timeout"),ye(e,n,i,"Interval"),ye(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{ye(e,"request","cancel","AnimationFrame"),ye(e,"mozRequest","mozCancel","AnimationFrame"),ye(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;r<i.length;r++)ce(e,i[r],(u,f,_)=>function(g,T){return n.current.run(u,e,T,_)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function(e,n){n.patchEventPrototype(e,n)})(e,i),function(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g<i.length;g++){const T=i[g],D=f+(T+u),Z=f+(T+c);r[T]={},r[T][u]=D,r[T][c]=Z}const _=e.EventTarget;_&&_.prototype&&n.patchEventTarget(e,[_&&_.prototype])}(e,i);const r=e.XMLHttpRequestEventTarget;r&&r.prototype&&i.patchEventTarget(e,[r.prototype])}),Zone.__load_patch("MutationObserver",(e,n,i)=>{ve("MutationObserver"),ve("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ve("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ve("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function(e,n){if(Re&&!We||Zone[e.symbol("patchEvents")])return;const i="undefined"!=typeof WebSocket,r=n.__Zone_ignore_on_properties;if(He){const f=window,_=function(){try{const e=pe.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch(e){}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];W(f,Te.concat(["messageerror"]),r&&r.concat(_),de(f)),W(Document.prototype,Te,r),void 0!==f.SVGElement&&W(f.SVGElement.prototype,Te,r),W(Element.prototype,Te,r),W(HTMLElement.prototype,Te,r),W(HTMLMediaElement.prototype,wt,r),W(HTMLFrameSetElement.prototype,Ve.concat(nt),r),W(HTMLBodyElement.prototype,Ve.concat(nt),r),W(HTMLFrameElement.prototype,tt,r),W(HTMLIFrameElement.prototype,tt,r);const g=f.HTMLMarqueeElement;g&&W(g.prototype,Dt,r);const T=f.Worker;T&&W(T.prototype,Ot,r)}const c=n.XMLHttpRequest;c&&W(c.prototype,rt,r);const u=n.XMLHttpRequestEventTarget;u&&W(u&&u.prototype,rt,r),"undefined"!=typeof IDBIndex&&(W(IDBIndex.prototype,Ee,r),W(IDBRequest.prototype,Ee,r),W(IDBOpenDBRequest.prototype,Ee,r),W(IDBDatabase.prototype,Ee,r),W(IDBTransaction.prototype,Ee,r),W(IDBCursor.prototype,Ee,r)),i&&W(WebSocket.prototype,St,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function(T){const m=T.XMLHttpRequest;if(!m)return;const S=m.prototype;let Z=S[Ze],B=S[Ie];if(!Z){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;Z=M[Ze],B=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[_]=!1;const K=R[c];Z||(Z=R[Ze],B=R[Ie]),K&&B.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const F=R[n.__symbol__("loadfalse")];for(let I=0;I<F.length;I++)F[I]===v&&F.splice(I,1);!M.aborted&&v.state===E&&re.call(v)},te.push(v)}else v.invoke()}else!M.aborted&&!1===R[u]&&(R[_]=!0)};return Z.call(R,V,le),R[i]||(R[i]=v),A.apply(R,M.args),R[u]=!0,v}function L(){}function z(v){const M=v.data;return M.aborted=!0,Y.apply(M.target,M.args)}const H=ce(S,"open",()=>function(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),O=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(S,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[_]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(S,"abort",()=>function(v,M){const R=function(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[O])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),_=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function(e,n){const i=e.constructor.name;for(let r=0;r<n.length;r++){const c=n[r],u=e[c];if(u){if(!Fe(ue(e,c)))continue;e[c]=(_=>{const g=function(){return _.apply(this,Ae(arguments,i+"."+c))};return ae(g,_),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){et(e,r).forEach(f=>{const _=e.PromiseRejectionEvent;if(_){const g=new _(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},we=>{we(we.s=435)}]);
          Evidence
          select
          Solution

          Remove all comments that return information that may help an attacker and fix any underlying problems they refer to.

Appendix

Alert types

This section contains additional information on the types of alerts in the report.

  1. CSP: Wildcard Directive

    Source raised by a passive scanner (CSP)
    CWE ID 693
    WASC ID 15
    Reference
    1. http://www.w3.org/TR/CSP2/
    2. http://www.w3.org/TR/CSP/
    3. http://caniuse.com/#search=content+security+policy
    4. http://content-security-policy.com/
    5. https://github.com/shapesecurity/salvation
    6. https://developers.google.com/web/fundamentals/security/csp#policy_applies_to_a_wide_variety_of_resources
  2. Cross-Domain Misconfiguration

    Source raised by a passive scanner (Cross-Domain Misconfiguration)
    CWE ID 264
    WASC ID 14
    Reference
    1. https://vulncat.fortify.com/en/detail?id=desc.config.dotnet.html5_overly_permissive_cors_policy
  3. Missing Anti-clickjacking Header

    Source raised by a passive scanner (Anti-clickjacking Header)
    CWE ID 1021
    WASC ID 15
    Reference
    1. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options
  4. Application Error Disclosure

    Source raised by a passive scanner (Application Error Disclosure)
    CWE ID 200
    WASC ID 13
  5. Cross-Domain JavaScript Source File Inclusion

    Source raised by a passive scanner (Cross-Domain JavaScript Source File Inclusion)
    CWE ID 829
    WASC ID 15
  6. Incomplete or No Cache-control Header Set

    Source raised by a passive scanner (Incomplete or No Cache-control Header Set)
    CWE ID 525
    WASC ID 13
    Reference
    1. https://cheatsheetseries.owasp.org/cheatsheets/Session_Management_Cheat_Sheet.html#web-content-caching
    2. https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
  7. Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s)

    Source raised by a passive scanner (Server Leaks Information via "X-Powered-By" HTTP Response Header Field(s))
    CWE ID 200
    WASC ID 13
    Reference
    1. http://blogs.msdn.com/b/varunm/archive/2013/04/23/remove-unwanted-http-response-headers.aspx
    2. http://www.troyhunt.com/2012/02/shhh-dont-let-your-response-headers.html
  8. Timestamp Disclosure - Unix

    Source raised by a passive scanner (Timestamp Disclosure)
    CWE ID 200
    WASC ID 13
    Reference
    1. http://projects.webappsec.org/w/page/13246936/Information%20Leakage
  9. X-Content-Type-Options Header Missing

    Source raised by a passive scanner (X-Content-Type-Options Header Missing)
    CWE ID 693
    WASC ID 15
    Reference
    1. http://msdn.microsoft.com/en-us/library/ie/gg622941%28v=vs.85%29.aspx
    2. https://owasp.org/www-community/Security_Headers
  10. Information Disclosure - Suspicious Comments

    Source raised by a passive scanner (Information Disclosure - Suspicious Comments)
    CWE ID 200
    WASC ID 13